"-A NUM"
スイッチを使用すると、各一致後に特定の数の末尾の行を印刷できることがわかります。各一致の後に特定の単語が見つかるまで末尾の行を印刷できるかどうか疑問に思います。たとえば、「Word A」を検索するときに、「Word A」を含む行と「Word D」を含む行までの行を見たいと思います。
コンテキスト:
Word A
Word B
Word C
Word D
Word E
Word F
注文する:
grep -A10 'Word A'
次の出力が必要です。
Word A
Word B
Word C
Word D
答え1
Word A
「」と「」(含む)の間のWord D
行を印刷したいようです。sed
代わりに使用することをお勧めしますgrep
。目的のパターンで開始および終了する一連の入力ストリームを編集できます。sed
範囲内のすべての行を印刷し、他の行を印刷しないように指示する必要があります。
sed -n -e '/Word A/,/Word D/ p' file
答え2
なぜawkを使用しないのですか?
awk '/Word A/,/Word D/' filename
答え3
perl -lne 'print if /Word A/ .. /Word D/' file
または
cat file | perl -lne 'print if /Word A/ .. /Word D/'