No.491
【Linux】ファイル中の一部の行だけ表示する【sed】
100万行のデータの一部とかとかどうやって確認すればいいの…
膨大なログファイルや出力データの中から必要な部分だけ取り出したい場合に重宝するのが sed
コマンド。
awk
コマンドなどを使っても同じことができるが、記法が複雑になるだけなので得に覚えなくても良いと思う。sed
がなくて awk
だけあるってこともないだろうし。
ファイルの○行目から△行目まで取り出す方法
下記のコマンドで取り出せる。簡単簡単。
sed -n '○,△p' ファイル名
実行例としては下記のような感じになる。100行目から200行目まで取り出す場合だ。
sed -n '100,200p' /var/log/message
ファイルの○行目から最後まで取り出す方法
行末を表す $
を行数の代わりに使用すればOK。
sed -n '○,$p' ファイル名
実行例としては下記のような感じになる。100行目から最後まで取り出す場合だ。
sed -n '100,$p' /var/log/message
ファイルの末尾を取り出す方法
初心者にはたまに聞かれるので一応書いておく。
普通に tail
コマンドでどうぞ。
tali --line=取り出したい行数 ファイル名
実行例としては下記のような感じになる。末尾100行を取り出す場合だ。
tail --line=100 /var/log/message