【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行あることに注意

分かり易い方を使ってみて下さい。