サブディレクトリ内のすべてのファイルの特定の文字列の下の5行をすべて印刷します。

サブディレクトリ内のすべてのファイルの特定の文字列の下の5行をすべて印刷します。

私は多くのサブディレクトリを持つディレクトリを持っていますが、すべて「name」ファイルを持っていて、各ファイル「name」の各文字列「str」の下に5行を印刷したいと思います。

ベストアンサー1

"str"を含む行が見つかると、次の5行が印刷されます。 (これがあなたが望むものであることを願っています):

find . -type f -name name | xargs awk '/^str$/ {i=1; next;} \
                                           i>0 {print; if(i<5) i++; else i=0;}'

おすすめ記事