![]() |
Найти стороку, затем записать в другой файл ее и последующую
Всем здравствуйте.
Общее описание проблемы: Есть 2 текстовых файла размерами в 600Мб и 6Гб. В них содержатся строки, которые можно условно разделить на 4 группы, расположены они последовательно, что может даже упростит задачу. Нужно найти строки, начинающиеся на @SR и записать их и последующие за ними. Порядок записи необходим как в исходном файле. Возможно задача упрощается, так как эти строки заведомо имеют номер 1,2 5,6 9,10 и т.д. 2 файла хорошо бы склеить, но думаю это делается просто >> вместо > во втором файле. Заранее извиняюсь, если не нашел подобную тему |
@echo off
::Выставляем нужное число строк для вывода после искомой: set k=3 for /f %%i in ('find /c /v ""^<"test.txt"') do set l=%%i ( for /l %%i in (1 1 %l%) do ( set string= set /p string= call set /p="%%string%%"<nul| findstr /xc:"строка поиска" /xc:"строка поиска"&& set m=%%i for /l %%j in (1 1 %k%) do ( if defined m ( set /a n=m+%%j call echo %%n%%| findstr /x %%i>nul&& if defined string ( call set /p="%%string%%"<nul echo. ) ) ) ) )<"test.txt">"new.txt" Данный код взят с другого ресурса, Yury простите меня) но тут не работают регулярные выражения |
Цитата:
Цитата:
Код:
call set /p="%%string%%"<nul| findstr /xc:"строка поиска" /xc:"строка поиска"&& set m=%%i Код:
call set /p="%%string%%"<nul| findstr /rc:"регулярное выражение"&& set m=%%i |
Спасибо огромное) работает!
|
Время: 13:26. |
Время: 13:26.
© OSzone.net 2001-