カテゴリ: Linuxコマンド集 更新日: 2026/03/10

cat -bオプション|空行を除いて行番号を付ける

cat -bオプション|空行を除いて行番号を付ける
cat -bオプション|空行を除いて行番号を付ける

先生と生徒の会話形式で理解しよう

生徒

「Linuxでファイルの行に番号を付けて表示したいんですけど、どうすればいいですか?」

先生

「それならcatコマンドに-bオプションを付けると、空行を除いて番号を振ることができますよ。」

生徒

「空行は飛ばすんですか?全部に番号がつくと思ってました!」

先生

「実は、空行も含めて番号を振りたいなら-nを使います。-bは中身がある行だけに番号を付けたい時に便利なんです。」

1. cat -bとは?空行を除いて行番号を付ける便利なオプション

1. cat -bとは?空行を除いて行番号を付ける便利なオプション
1. cat -bとは?空行を除いて行番号を付ける便利なオプション

cat(キャット)コマンドは、Linuxでファイルの中身を画面に表示したり、複数のファイルを一つに繋げたりするときに最もよく使われる基本中の基本となるコマンドです。このコマンドに-bというオプションを付け加えることで、「文字が入力されている行だけに限定して行番号を表示する」という便利な機能が使えます。

プログラミング未経験の方にとって、ソースコードや設定ファイルを読み解くのは大変な作業ですよね。特に、可読性を上げるために意図的に入れられた「空行(何も書いていない行)」までカウントしてしまうと、実際のコードが何行あるのか分からなくなることがあります。そんな時、cat -bを使えば、意味のある行だけを正確に把握できるため、作業効率が格好良くアップします。

ここがポイント: -bは「blank(空白)」を飛ばして「body(本文)」がある行だけを数えると覚えると忘れにくいですよ。

例えば、次のような「買い出しリスト」のファイル(memo.txt)があるとします。途中に読みやすくするための空行が含まれています。


cat memo.txt
リンゴ

バナナ
オレンジ

牛乳

このファイルに対して-bオプションを使用すると、実行結果は以下のようになります。


cat -b memo.txt
     1	リンゴ

     2	バナナ
     3	オレンジ

     4	牛乳

このように、中身がある行だけに順番に番号が振られ、空行はそのまま飛ばされているのがわかりますね。これがcat -bの最大のメリットです。

2. cat -bの基本的な使い方

2. cat -bの基本的な使い方
2. cat -bの基本的な使い方

まずは、最もシンプルな手順でcat -bの動きを確認してみましょう。Linuxの操作に慣れていない方でも、実際にコマンドを打ってみると「空行を飛ばす」という意味が直感的に理解できるはずです。

例として、挨拶と空行が混ざった「sample.txt」という名前のテキストファイルを用意しました。このファイルには全部で5行のデータがありますが、そのうち2行目と4行目は何も文字が入っていない「空行」の状態です。


cat sample.txt
Hello, Linux!

This is a test file.

Have a nice day.

このファイルに対して、行番号を表示させる-bオプションを適用して実行してみます。ターミナル(黒い画面)で次のように入力してください。


cat -b sample.txt
     1	Hello, Linux!

     2	This is a test file.

     3	Have a nice day.

実行結果を見ると、文字が入力されている行の左側にだけ「1」「2」「3」と番号が表示されましたね。一方で、2行目と4行目の空白部分には番号が振られず、そのまま詰められずに表示されています。

このようにcat -bを使えば、文章のボリュームを把握したい時や、特定のメッセージが「上から数えて何番目の有効な行にあるか」をひと目で特定できるようになります。プログラミングのコードを読む際、コメントの間の空行を無視して実際の命令文だけを数えたいときなどに非常に重宝するテクニックです。

初心者向けアドバイス: コマンドの結果が表示された際、番号の後に少し隙間(タブ)が空くので、ファイルの内容と混ざらずにスッキリと読み取ることができます。

3. -bと-nの違いを理解しよう

3. -bと-nの違いを理解しよう
3. -bと-nの違いを理解しよう

-bと似たオプションに-nがあります。両者の違いは以下のとおりです。

  • -b:空行を除いた行にのみ番号を付ける
  • -n:すべての行に番号を付ける(空行にも)

cat -n sample.txt
     1	Hello, Linux!
     2	
     3	This is a test file.
     4	
     5	Have a nice day.

行番号を全体に均等に振りたいなら-n、中身のある行だけ番号が欲しい場合は-bを使いましょう。

4. 空行が重要な意味を持つ場合の注意点

4. 空行が重要な意味を持つ場合の注意点
4. 空行が重要な意味を持つ場合の注意点

テキストファイルの中には、空行が「区切り」や「見出しの間隔」として重要な意味を持つことがあります。cat -bを使えば、内容のある行に集中して読み取ることができるので、構造の把握やデバッグにも役立ちます

特に設定ファイル(confファイルなど)やスクリプトの確認では、コメントや空行を無視してコードだけに注目したい場面が多く、-bはとても重宝します。

5. 行番号の表示幅と見やすさ

5. 行番号の表示幅と見やすさ
5. 行番号の表示幅と見やすさ

cat -bを使うと、行番号の桁は自動的に整列されます。番号のあとにはタブ文字が入り、内容との間にスペースが確保されるため、整った見た目で一覧しやすくなっています。

行番号が増えてもレイアウトが崩れないので、大量の行があるログファイルなどにも適しています。

6. 他のcatオプションとの組み合わせ例

6. 他のcatオプションとの組み合わせ例
6. 他のcatオプションとの組み合わせ例

catコマンドは、-bだけでなく他のオプションと組み合わせることもできます。ただし、-n-bは同時に使えません。指定した場合は、-bが優先されます。

たとえば、-b-T(タブを^Iで表示)を組み合わせると次のようになります。


cat -bT sample.txt
     1	Hello,^ILinux!

     2	This^Iis^Ia^Itest^Ifile.

     3	Have^Ia^Inice^Iday.

このように、タブ文字がどこにあるのかを確認しながら、行番号も見やすく表示できます。

7. sedやawkとの違いと使い分け

7. sedやawkとの違いと使い分け
7. sedやawkとの違いと使い分け

行番号を付けるという操作は、sedawkなどのテキスト処理ツールでも可能ですが、cat -bはとにかく手軽で覚えやすいのが特徴です。

簡単に番号を確認したいだけならcat -bが最適です。プログラムで複雑な処理や条件分岐が必要な場合にのみawkなどを使えば十分です。

関連記事:
カテゴリの一覧へ
新着記事
New1
ファイル・ディレクトリ操作
rmコマンドとは?Linuxでファイルやディレクトリを削除する基本
New2
ファイル・ディレクトリ操作
cp -pオプションの使い方|元ファイルのパーミッションやタイムスタンプを保持する方法を初心者向けに解説!
New3
ファイル・ディレクトリ操作
find -permオプションの使い方を完全解説!初心者でもできるパーミッション検索
New4
テキスト・データ処理
cat -bオプション|空行を除いて行番号を付ける
人気記事
No.1
Java&Spring記事人気No1
ファイル・ディレクトリ操作
findコマンドの使い方を完全ガイド!初心者でもわかるLinuxのファイル検索の基本
No.2
Java&Spring記事人気No2
テキスト・データ処理
grepコマンドとは?Linuxで文字列を検索する基本をやさしく解説!
No.3
Java&Spring記事人気No3
ファイル・ディレクトリ操作
cdコマンドとは?Linuxでディレクトリを移動する基本を初心者向けに解説
No.4
Java&Spring記事人気No4
ファイル・ディレクトリ操作
Linuxのmkdirコマンドとは?初心者でもわかる新しいディレクトリ作成の基本