別の特定の一致まで、各grep一致の後に行を表示するには?

別の特定の一致まで、各grep一致の後に行を表示するには?

"-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

おすすめ記事