Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - Найти стороку, затем записать в другой файл ее и последующую

Ответить
Настройки темы
Любой язык - Найти стороку, затем записать в другой файл ее и последующую

Новый участник


Сообщения: 3
Благодарности: 0

Профиль | Отправить PM | Цитировать


Всем здравствуйте.
Общее описание проблемы:
Есть 2 текстовых файла размерами в 600Мб и 6Гб. В них содержатся строки, которые можно условно разделить на 4 группы, расположены они последовательно, что может даже упростит задачу. Нужно найти строки, начинающиеся на @SR и записать их и последующие за ними. Порядок записи необходим как в исходном файле. Возможно задача упрощается, так как эти строки заведомо имеют номер 1,2 5,6 9,10 и т.д. 2 файла хорошо бы склеить, но думаю это делается просто >> вместо > во втором файле.

Заранее извиняюсь, если не нашел подобную тему

Отправлено: 11:19, 13-02-2014

 

Новый участник


Сообщения: 3
Благодарности: 0

Профиль | Отправить PM | Цитировать


@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 простите меня) но тут не работают регулярные выражения

Отправлено: 11:21, 13-02-2014 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Сообщения: 874
Благодарности: 575

Профиль | Отправить PM | Цитировать


Цитата NKata:
Данный код взят с другого ресурса, Yury простите меня) »
Не за что.


Цитата NKata:
но тут не работают регулярные выражения »
Попробуйте заменить:
Код: Выделить весь код
call set /p="%%string%%"<nul| findstr /xc:"строка поиска" /xc:"строка поиска"&& set m=%%i
на:
Код: Выделить весь код
call set /p="%%string%%"<nul| findstr /rc:"регулярное выражение"&& set m=%%i
Это сообщение посчитали полезным следующие участники:

Отправлено: 12:15, 13-02-2014 | #3


Новый участник


Сообщения: 3
Благодарности: 0

Профиль | Отправить PM | Цитировать


Спасибо огромное) работает!

Отправлено: 13:30, 13-02-2014 | #4



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - Найти стороку, затем записать в другой файл ее и последующую

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - найти файл и записать в переменную pzh2393 Скриптовые языки администрирования Windows 7 20-01-2013 03:35
[решено] Как найти файл и записать ПОЛНЫЙ путь к нему vivera864864 AutoIt 3 13-06-2011 19:04
CMD/BAT - [решено] Удалить файлы содержащиет стороку betman Скриптовые языки администрирования Windows 2 10-03-2010 21:30
C/C++ - Записать переменую в файл DENoszone Программирование и базы данных 32 05-07-2008 06:55
Установка - Vista Ultimate затем XP затем восстановление Vista Anzor Microsoft Windows Vista 3 09-07-2007 10:07




 
Переход