Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Поиск, удаление, замена и добавление строк в текстового файле. Что возможно? (http://forum.oszone.net/showthread.php?t=199050)

akrav 09-02-2011 18:21 1608676

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

El Sanchez 09-02-2011 20:21 1608769

akrav,
Код:

FindStr /IVG:2.txt 1.txt > 3.txt
P.S. Подсмотрено у amel27 здесь:)

amel27 10-02-2011 05:57 1609010

Цитата:

Цитата El Sanchez
Подсмотрено у 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 2577821

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

Iska 22-11-2015 21:49 2577833

Упакуйте образец файла в архив, приложите к сообщению.

sayyad 22-11-2015 22:32 2577842

Вложений: 1
Цитата:

Цитата Iska
Упакуйте образец файла в архив, приложите к сообщению. »

Файл 131319
вот файл

sayyad 22-11-2015 22:35 2577844

по сути начальные файлы не нужны только те которые отредактированы. и было бы неплохо если файли оставаясь там же где они есть и редактировались на очистку этих строк. строки важно что бы не удалялись. только очистка строки.

sayyad 23-11-2015 18:52 2578183

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

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

Команда по замене слова в строке
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



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


Время: 12:28.

Время: 12:28.
© OSzone.net 2001-