как сопоставить строку и отобразить две строки под строкой

например (я хочу сопоставить строку "изготовления" и отобразить две строки после

cat ima.conf   

# the manufacturer or driver author.

com.sun.ima             /usr/lib/libsun_ima.so.1
com.sun.ima64           /usr/lib/64/libsun_ima.so.1
# Format:
#
# <library name>  <library pathname>
#

поэтому я получу только следующие строки:

com.sun.ima             /usr/lib/libsun_ima.so.1
com.sun.ima64           /usr/lib/64/libsun_ima.so.1

1 ответ1

0

Это решение awk :

grep="pattern" # the string where we begin
max=4          # the number of lines after the matched pattern
awk '/'"$grep"'/{l=1;count=NR;next} l>0 && NR-count < '"$max"+1' {print}'

(проверено на Solaris11)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .