LINUX.ORG.RU

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


0

0

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

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

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

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

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

Ростислав

anonymous
Ответ на: комментарий от dilmah

Я предлагаю так:

awk /abc/,/def/ abc | head -n -1

И, кстати, в твоём случае cat ненужен -- можно имя файлу непосредственно awk'у передать.

php-coder ★★★★★
()
Ответ на: комментарий от php-coder

Последний вариант рулит. Спасибо.

Ростислав

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