LINUX.ORG.RU

Выдернуть кусочек файла.


0

0

Есть текстовый файлик. Надо из него вынуть кусок, начинающийся со строки, содержащей "abc" и заканчивающийся перед строчкой "def", и отправить этот кусок на стандартный вывод.

Почти то же делает csplit

$ csplit %abc% /def/ $file; cat xx00; rm xx??

Должен быть более изящный способ, кажется. Хочется проделать это без временных файлов, не читать исходный файл до конца и обойтись стандартными средствами (т.е. без perl и проч.).

Заранее спасибо.

Ростислав

anonymous

Re: Выдернуть кусочек файла.

cat file | awk 'BEGIN { flag=0 } /abc/ { flag=1 } (/def/ && flag == 1) { exit } (flag == 1) { print }'

dilmah ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.