Показать полную графическую версию : [решено] из строк текстового файла нужно вырезать определенные символы
alek2012
02-07-2012, 11:54
Появилась задача.
Может кто то писал подобный скрипт, чтобы можно было построчно из текстового файла вырезать символы
до определенного названия текста.
Заранее благодарен.
юзал sed for Windows (http://gnuwin32.sourceforge.net/packages/sed.htm)
alek2012
02-07-2012, 12:51
спасибо, сегодня испытаю!
alek2012
03-07-2012, 11:55
теперь нужно вырезать из строк все, кроме текста того что находится в квадратных скобках []
можно как то организовать?
Anonymоus
03-07-2012, 13:35
alek2012, вариант c использованием grep for Windows (http://gnuwin32.sourceforge.net/packages/grep.htm)
grep -Eo "\[[^\[]*\]" "test.txt">>"output.txt"
alek2012
03-07-2012, 14:57
установил, не могу разобраться как пользоваться этой утилитой. Не подскажете пошагово?
Anonymоus
03-07-2012, 16:24
alek2012, я вам команду для неё привел. Создаете текстовый файл, пишете туда следующее
@Echo Off
grep -Eo "\[[^\[]*\]" "test.txt">>"output.txt"
Pause
и меняете расширение на .bat или .cmd, затем запускаете.
"test.txt" - файл, откуда берется текст, а "output.txt" - файл, куда будет записано то, что подходит под указанное регулярное выражение.
alek2012
03-07-2012, 16:55
Все понял! Спасибо. Нужно было сам скрипт кинуть в директорию bin)
И мне кидало ошибку. А я не мог понять что за...
И еще вопрос какой командой можно сделать так, чтобы каждое выражение в скобках начиналось с новой строки в файле output.txt ?
Anonymоus
03-07-2012, 17:42
alek2012, они и так с новой строки начинаются, проблема в том, что grep подает свой вывод с переводом строки в unix-формате (LF), а вы я так понимаю, просматриваете текстовый файл в редакторе, который понимает только windows-like переводы строки (CR+LF)
Вариант решения c for:
@Echo Off
For /F "delims=" %%A In ('grep -Eo "\[[^\[]*\]" "test.txt"') Do (Echo %%A>>"out.txt")
Pause
alek2012
04-07-2012, 09:32
Anonymоus супер! Все работает! Спасибо! С меня пиво!
alek2012
11-07-2012, 16:54
Anonymоus подскажи пожалуйста еще как можно с помощью grep удалить повторяющиеся строки в файле.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.