1. ホーム
  2. command-line

ファイルの特定の行範囲を "grep "アウトする方法

2023-10-09 09:38:57

質問

探しているものを見つけるために、しばしば grep -n whatatev ファイルを使用することがあります。 出力は次のとおりです。

1234: whatev 1
5555: whatev 2
6643: whatev 3

1234と5555の間の行を抽出したい場合、それを行うためのツールはありますか? 静的なファイルについては、私はファイルのwc -lを行い、tail & headでそれを分割する計算を行うスクリプトを持っていますが、それは常に書き込まれているログファイルではあまりうまくいきません。

どのように解決するのですか?

で述べたようにsedを使ってみてください。 http://linuxcommando.blogspot.com/2008/03/using-sed-to-extract-lines-in-text-file.html . 例えば

sed '2,4!d' somefile.txt

で、somefile.txtの2行目から4行目までを表示します。(そして、忘れずにチェックするのは http://www.grymoire.com/Unix/Sed.html , sed は素晴らしいツールです)。