「エラーログの何行目に問題があるか、ひと目で確認したい」
そんなときに役立つのが、行番号を付けてファイルを表示する方法です。
この記事では、
cat -n コマンドを使ってファイルの内容を行番号付きで表示する方法を解説します。空行の扱いが異なる
-b オプション、nl コマンドや less -N との使い分けまで、現場でよく使うパターンを順番にまとめました。・cat -n ファイル名 で全行に行番号を付けて表示できる
・cat -b ファイル名 で空行を除いた行番号表示ができる
・nl コマンドでも行番号付き表示が可能(デフォルトで空行は除外)
・less -N で大きなファイルをスクロールしながら行番号確認できる
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
catコマンドで行番号を付けてファイルを表示する
1. すべての行に行番号を付ける(-n オプション)
cat -n を使うと、ファイルの全行に行番号が付きます。設定ファイルのチェックや、エラーログで「何行目か」をすぐに確認したいときに便利です。
[pakira@Dolphin conf]$ cat -n httpd.conf 1 ## 2 ## httpd.conf -- Apache HTTP server configuration file 3 ## 4 5 # 6 # Based upon the NCSA server configuration files originally by Rob McCool. 7 # 8 # This is the main Apache server configuration file.
2. 空行には行番号を付けない(-b オプション)
cat -b を使うと、空行を除いた行にだけ行番号が振られます。コードや設定ファイルで「意味のある行だけに番号を付けたい」場合に使います。
[pakira@Dolphin conf]$ cat -b httpd.conf 1 ## 2 ## httpd.conf -- Apache HTTP server configuration file 3 ## 4 # 5 # Based upon the NCSA server configuration files originally by Rob McCool.
nl コマンドで行番号を付ける
nl コマンドも行番号付き表示ができます。デフォルトで空行には番号が付かない点が
cat -b に近い動作です。[pakira@Dolphin conf]$ nl httpd.conf 1 ## 2 ## httpd.conf -- Apache HTTP server configuration file 3 ## 4 # Based upon the NCSA server configuration files originally by Rob McCool.
less -N で大きなファイルをスクロールしながら確認する
ファイルが大きくてスクロールしながら確認したい場合はless -N が便利です。行番号を表示したまま
G キーで末尾へジャンプ、/ で検索もできます。# 行番号付きでスクロール表示する [pakira@Dolphin ~]$ less -N /var/log/messages # less 起動中に行番号表示を切り替える場合は「-N」を入力
応用:特定行だけを取り出す
1. sed で行番号指定して抽出する
cat -n で行番号を確認した後、sed で特定行だけを取り出せます。# 100行目だけを表示する [pakira@Dolphin ~]$ sed -n '100p' /var/log/messages # 100行目から110行目を表示する [pakira@Dolphin ~]$ sed -n '100,110p' /var/log/messages
2. grep -n でマッチ行と行番号を同時に確認する
grep -n を使うと、文字列検索結果に行番号が付きます。エラーメッセージが何行目にあるかを素早く特定できます。
# "error" が含まれる行と行番号を表示する [pakira@Dolphin ~]$ grep -n "error" /var/log/messages 145:Apr 4 09:15:23 Dolphin kernel: error: ... 289:Apr 4 10:32:11 Dolphin httpd: error: ...
本記事のまとめ
| やりたいこと | コマンド |
|---|---|
| 全行に行番号を付けて表示する | cat -n ファイル名 |
| 空行を除いて行番号を付ける | cat -b ファイル名 |
| nlコマンドで行番号付き表示する | nl ファイル名 |
| スクロールしながら行番号表示する | less -N ファイル名 |
| 特定行を抽出する | sed -n '行番号p' ファイル名 |
| 検索結果に行番号を付ける | grep -n "文字列" ファイル名 |
cat -n を基本として覚えておけば、ほとんどの場面で対応できます。行番号付きでファイルを読む習慣が、ログ解析の速度を変える
大量のログファイルを素早く確認できるスキルは、現場での障害対応時間を大幅に短縮します。
ネットの切れ端の情報をコピペするだけでなく、現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼントしています。
「独学の時間がもったいない」「プロから直接、現場の技術を最短で学びたい」という本気の方には、2日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。
3,100名以上が実践した「型」を無料で公開中
プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。
登録10秒/合わなければ解除3秒 / 詳細はこちら

無料メルマガで学習を続ける
Linuxの実践スキルをメールで毎週お届け。
登録は1分、解除もいつでも可。
登録無料・いつでも解除できます