【Linux】テキストファイルの一部のX行目~Y行目を表示する方法
ログファイルなどの巨大なテキストファイルのX~Y行目だけを表示させたい事があると思います。
そんな時はLinuxのコマンドラインで以下のようにheadとtailコマンドを組み合わせれば実現できます。
X = 表示開始行
Y = 表示終了行
Z = テキストファイルの行数
N = Y - X + 1 (表示させたい行数)
とするとき
$ head -n Y 対象ファイル | tail -n N
※だたし、Z >= Y >= X の条件を満たす時
tailコマンドから始める事も可能です。
X = 表示開始行
Y = 表示終了行
Z = テキストファイルの行数
N = Y - X + 1 (表示させたい行数)
L = Z - X + 1 (表示させたい行から最終行までの行数)
とするとき
$ tail -n L 対象ファイル | head -n N
※だたし、Z >= Y >= X の条件を満たす時
たとえば10000行あるログファイルの5000行目~5999行目まで1000行分表示させたい時は以下のようになります。
$ head -n 5999 logfile | tail -n 1000
または
$ tail -n 5001 logfile | head -n 1000
※1~10000行まであるファイルの5000~10000行は5001行あることに注意
分かり易い方を使ってみて下さい。