PDA

Показать полную графическую версию : [решено] Поиск, удаление, замена и добавление строк в текстового файле. Что возможно?


akrav
09-02-2011, 18:21
Всем привет! У меня есть: 1.txt - текстовой файл с кучей строк и есть 2.txt - текстовый файл со строками, которые нужно удалить из первого файла. Или другими словами, нужно создать 3.txt - копию 1.txt за исключением строк совпадающих с содержанием 2.txt). Как это можно сделать? Спасибо! Целый день убил, так и не придумал...

El Sanchez
09-02-2011, 20:21
akrav,

FindStr /IVG:2.txt 1.txt > 3.txt

P.S. Подсмотрено у amel27 здесь:)

amel27
10-02-2011, 05:57
Подсмотрено у amel27»обнаружил одну неприятную особенность FINDSTR - шаблоны применяются как регулярные выражения независимо от ключа /R, а способа отключения этого режима вроде как нет:
@echo off

FindStr /? >1.txt
FindStr /? >2.txt

FindStr /IVG:2.txt 1.txt >3.txt
FindStr/IRVG:2.txt 1.txt >4.txt
FindStr/IVLG:2.txt 1.txt >5.txt

sayyad
22-11-2015, 21:10
Добрый Вечер! Помогите отредактировать файлы.
есть папка Smali в нем 100500 файлы в папках и под папках
нужно найти через cmd строки содержащие
.line 1
.line 12
.line 123
.line 1234
пример такой
FINDSTR /C:"Пробел,Пробел,Пробел,Пробел.line" exaple.txt очистить эти строки и сохранить все эти файлы под своими именами в другой папке.
только без этих лине. числы в конце бывают да 20 длинною.

Iska
22-11-2015, 21:49
Упакуйте образец файла в архив, приложите к сообщению.

sayyad
22-11-2015, 22:32
Упакуйте образец файла в архив, приложите к сообщению. »
131319
вот файл

sayyad
22-11-2015, 22:35
по сути начальные файлы не нужны только те которые отредактированы. и было бы неплохо если файли оставаясь там же где они есть и редактировались на очистку этих строк. строки важно что бы не удалялись. только очистка строки.

sayyad
23-11-2015, 18:52
по данному вопросу нет никаких вариантов решить это? еще есть ли возможность из менить строку например файл exaple.smali в нем строка ( const-string v5, "gunoev095@gmail.com") без скобок. е-маил должен редактироваться в ручную с командной строки.
по первому вопросу без разницы какую программу использовать главное что бы была возможность очищать все строки содержащие .prologue .line
.end packed-switch

:pswitch_data_1
.packed-switch 0x0
:pswitch_6
:pswitch_7
:pswitch_8
:pswitch_9
.end packed-switch
.end method

.method public constructor <init>()V
.locals 1

.prologue
.line 20
invoke-direct {p0}, Ljava/lang/Object;-><init>()V

.line 15
const-string/jumbo v0, ""

iput-object v0, p0, Lb;->a:Ljava/lang/String;
через notepad++ поиск, замена могу очищать эти строки используя регулярные выражения "^\s\s\s\s.line\s\d*$" заменить на пустую. через FINDSTR /C:" .line" b.smali >4.txt смог вывести все эти лине на отдельный файл или на экран командера. задача редактировать не по одному файлу а сразу все файлы в каталоге в каталоге примерно окало 18000 файлов бывает. там многое еще нужно править но держа в руках команды к этим 2 вариантам остальное по вашему шаблону я сделал бы дальше сам огромное спасибо заранее за ваши труды.

sayyad
06-12-2015, 13:22
нашел решение замены отдельного слова

setlocal ENABLEDELAYEDEXPANSION
echo off
chcp 65001
cls
set /p infile=Путь к файлу

call :txtrepl end finish %infile% New%infile%
pause
exit

:txtrepl
rem param - find, repl, from, to
set /p FINDTXT=Что следует искать?
set /p REPLTXT=На что заменить
if EXIST %3 (
set FILEFROM=%3
) else (
echo error. Not found file %3
pause
exit
)
set FILEOUT=%4
set COUNT=0
for /F "tokens=*" %%n in (!FILEFROM!) do (
set /A COUNT=!COUNT!+1
set LINE=%%n
set TMPR=!LINE:%FINDTXT%=%REPLTXT%!
if !COUNT! == 1 (
Echo !TMPR!>!FILEOUT!
) else (
Echo !TMPR!>>!FILEOUT!
)
)
exit /b
rem end of proc


Можно ли изменить чуточку эти команды и вместо изменения одного слова искать по этому слову целую строку с заменой
помогите пож.




© OSzone.net 2001-2012