![見出し画像](https://assets.st-note.com/production/uploads/images/170683935/rectangle_large_type_2_a9053556d80b2b19c8e3a00514dc8b46.png?width=1200)
ファイル操作をスムーズに!head -n 30 と tail -n 30 の使い方と応用テクニック
大きなファイルを扱うとき、最初から全部開くのは大変ですよね。特にログやデータファイルの特定部分だけを確認したいとき、Linuxの基本コマンドである head と tail がとても便利です。今回は「-n」オプションの意味や応用テクニックも交えながら、さらに使いこなせる方法をご紹介します。
1. -n オプションって何?
head や tail に登場する「-n」は、"number of lines"(行数) の略です。
このオプションを使うことで、表示する行数を指定できます。
たとえば:
head -n 30 → ファイルの最初の30行を表示
tail -n 30 → ファイルの最後の30行を表示
オプションを省略した場合、どちらのコマンドもデフォルトで10行を表示します。
2. 基本の使い方
1) head -n 30
ファイルの最初の部分を確認したいときに使います。
head -n 30 sample.txt
例:sample.txt
ファイルの内容が以下の場合:
1. This is line 1
2. This is line 2
3. This is line 3
...
30. This is line 30
31. This is line 31
...
50. This is line 50
実行結果:
1. This is line 1
2. This is line 2
3. This is line 3
...
30. This is line 30
2) tail -n 30
ファイルの最後の部分を確認したいときに使います。
tail -n 30 sample.txt
実行結果
21. This is line 21
22. This is line 22
...
50. This is line 50
3. head と tail を組み合わせて中間部分を確認
ファイルの途中を見たいとき、head と tail を組み合わせれば解決します。
例:ファイルの31〜60行目を表示
head -n 60 sample.txt | tail -n 30
このコマンドは:
head -n 60 → ファイルの最初から60行を取得
tail -n 30 → その中の最後の30行を取得
実行結果
31. This is line 31
32. This is line 32
...
60. This is line 60
4. 応用編:grep と tail の組み合わせ
次に、大きなファイルを検索しながら特定の部分を絞り込む方法をご紹介します。
例えば、エラーログを解析して最後に発生したエラーの内容を確認する場合に便利です。
例:grep + tail の活用
エラーが含まれるログを検索し、最後の5件だけを確認します。
コマンド
cat server.log | grep "ERROR" | tail -n 5
例:server.log
INFO 2025-01-18 12:00:00 Starting server...
INFO 2025-01-18 12:05:00 User login: user123
ERROR 2025-01-18 12:10:00 Failed to connect to database
INFO 2025-01-18 12:15:00 Processing request
ERROR 2025-01-18 12:20:00 Timeout while reading configuration
ERROR 2025-01-18 12:25:00 User authentication failed
INFO 2025-01-18 12:30:00 Shutdown initiated
ERROR 2025-01-18 12:35:00 Unable to release resources
ERROR 2025-01-18 12:40:00 Disk space low
実行結果
ERROR 2025-01-18 12:20:00 Timeout while reading configuration
ERROR 2025-01-18 12:25:00 User authentication failed
ERROR 2025-01-18 12:35:00 Unable to release resources
ERROR 2025-01-18 12:40:00 Disk space low
ポイント
cat でファイル全体を読み込みます。
grep で「ERROR」を含む行だけを抽出します。
tail -n 5 で最後の5件を表示します。
5. 応用例:リアルタイムログの監視
tail の便利な使い方の1つが、リアルタイムでログを監視する方法です。これには -f オプションを使います。
例:リアルタイムログ監視
tail -f server.log
このコマンドを実行すると、ファイルに新しい行が追加されるたびに表示されます。
エラーや警告が発生した瞬間に確認できるため、デバッグ作業に最適です。
まとめ
head と tail は、ファイルの特定部分だけを手軽に確認できる便利なコマンドです。応用次第でさらに幅広く使えます。
この記事のポイント
基本操作
head -n 30:ファイルの最初の30行を表示
tail -n 30:ファイルの最後の30行を表示
組み合わせ技
head と tail で中間部分を抽出
応用例
grep と組み合わせて特定のキーワードを含む部分だけを確認
リアルタイムログ監視に tail -f
大きなファイルの確認作業がこれでぐっとスムーズになります。ぜひ活用してみてください!