CMD/BAT - [решено] Поиск, удаление, замена и добавление строк в текстового файле. Что возможно?

Ответить
Аватара пользователя
akrav

CMD/BAT - [решено] Поиск, удаление, замена и добавление строк в текстового файле. Что возможно?

Сообщение akrav »

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

Re: CMD/BAT - [решено] Поиск, удаление, замена и добавление строк в текстового файле. Что возможно?

Сообщение amel27 »

Цитата El Sanchez:



Подсмотрено у amel27
CMD/BAT - [решено] Поиск, удаление, замена и добавление строк в текстового файле. Что возможно?




обнаружил одну неприятную особенность 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

Re: CMD/BAT - [решено] Поиск, удаление, замена и добавление строк в текстового файле. Что возможно?

Сообщение sayyad »

Добрый Вечер! Помогите отредактировать файлы.

есть папка Smali в нем 100500 файлы в папках и под папках

нужно найти через cmd строки содержащие

.line 1

.line 12

.line 123

.line 1234

пример такой

FINDSTR /C:"Пробел,Пробел,Пробел,Пробел.line" exaple.txt очистить эти строки и сохранить все эти файлы под своими именами в другой папке.

только без этих лине. числы в конце бывают да 20 длинною.
Аватара пользователя
sayyad

Re: CMD/BAT - [решено] Поиск, удаление, замена и добавление строк в текстового файле. Что возможно?

Сообщение sayyad »

по сути начальные файлы не нужны только те которые отредактированы. и было бы неплохо если файли оставаясь там же где они есть и редактировались на очистку этих строк. строки важно что бы не удалялись. только очистка строки.
Вложения
h.rar
(11.71 КБ) 0 скачиваний
h.rar
(11.71 КБ) 0 скачиваний
Аватара пользователя
sayyad

Re: CMD/BAT - [решено] Поиск, удаление, замена и добавление строк в текстового файле. Что возможно?

Сообщение sayyad »

по данному вопросу нет никаких вариантов решить это? еще есть ли возможность из менить строку например файл 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 ()V

.locals 1

.prologue

.line 20

invoke-direct {p0}, Ljava/lang/Object;->()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

Re: CMD/BAT - [решено] Поиск, удаление, замена и добавление строк в текстового файле. Что возможно?

Сообщение sayyad »

нашел решение замены отдельного слова

Команда по замене слова в строке

[spoiler]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[/spoiler]

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

помогите пож.
Ответить

Вернуться в «Скриптовые языки администрирования Windows»