У меня есть файл структурированную так:Как grep по разделам?
BOF
-------Title1-------
stuff here
some stuff
-------Title2-------
extra things
extra things
extra things
-------Title3-------
and some stuff
here
...
-------Title4-------
stuff
EOF
Теперь я хотел бы сделать что-то вроде этого:
grep-by-section KEYWORD DELIMITER my-file
так что
grep-by-section "some" "^---" my-file
выходы
-------Title1-------
stuff here
some stuff
-------Title3-------
and some stuff
here
Я хочу найти определенное ключевое слово и для каждого поиска, я хочу вывести весь блок между известными разделителями. Как я могу это сделать? sed
не может меня здесь.
Разделители здесь являются «------», но могут быть чем-то вроде чисел в формате [0-9] {8}, например.
Подобная проблема, которую я не мог решить, вместо вывода содержимого блока выводит только заголовок блока.
Казалось бы, проще решать с perl
чем sed
Я думаю, что 'awk' будет хорошим решением. См. [Эту тему] (http://stackoverflow.com/questions/15628017/) для аналогичной ситуации. – rojo