行番号nに「キーワード」があるファイルがあります。 n + 1行目から最後まですべての行を印刷するにはどうすればよいですか?
たとえば、ここでは、DDDとEEEの行のみをpro = intに置き換えます。
AAA
BBB
CCC
KEYWORD
DDD
EEE
sed
でこれを行うことができます:
sed '1,/^KEYWORD$/d'
これにより、ストリームの先頭から「KEYWORD」までのすべての行が削除(省略)されます。
Sedを使用して、KEYWORD一致からファイルの最後まで印刷し、次にtailを使用してKEYWORD行を削除します。
sed -n '/KEYWORD/,$p' file | tail -1
代替案は、-A
フラグと組み合わせたgrep
です。
grep -A10000 KEYWORD file
ここで、10000
は、ファイルの終わりまでの行数を示す大きな数字であり、実際の日常使用にはこれで十分です。
それ以外の場合は、このようにファイルの行数をパラメータとして使用できます
grep -A$(wc -l file | cut -d' ' -f1) KEYWORD file
しかし、それはやり過ぎである可能性が最も高いです(そして、与えられたsed
代替より覚えるのは簡単ではありません)