猫ファイルの「KEYWORD」の後のすべての行[重複]

猫ファイルの「KEYWORD」の後のすべての行[重複]

n行に「KEYWORD」のファイルがあります。 n+1行から最後まですべての行を印刷するには?

たとえば、ここではpro = int行DDDとEEEのみが必要です。

AAA
BBB
CCC
KEYWORD
DDD
EEE

答え1

次の方法でこれを実行できますsed

sed '1,/^KEYWORD$/d'

これにより、ストリームの先頭から「KEYWORD」(含む)までのすべての行が削除(省略)されます。

答え2

別のオプションはgrepフラグと一緒に使用することです-A

grep -A10000 KEYWORD file

ここでは、10000ファイルの終わりまでの行数を示す大きな数字にすぎず、実際の日常的な使用には十分です。

それ以外の場合は、次のようにファイルの行数をパラメータとして使用できます。

grep -A$(wc -l file | cut -d' ' -f1) KEYWORD file

しかし、これは過剰である可能性が高いです(与えられた選択肢よりも覚えやすくありませんsed)。

答え3

sedを使用してKEYWORD一致からファイルの終わりまで印刷し、tailを使用してKEYWORD行を削除します。

sed -n '/KEYWORD/,$p' file | tail -1

関連情報