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

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の違いを理解しよう

catコマンドで行番号を表示する際、最も迷いやすいのが-bオプションと-nオプションの使い分けです。どちらも番号を振るという点では同じですが、「空行をカウントに含めるかどうか」という決定的な違いがあります。

cat -b (number-nonblank)

文字がある行だけに番号を振ります。プログラムの有効なコード行数を知りたい時に最適です。

cat -n (number)

空行を含めたすべての行に番号を振ります。ファイル全体の物理的な行数を確認したい時に使います。

それでは、先ほどの「sample.txt」を使って、-nオプションの実行結果を見てみましょう。ターミナルで以下のコマンドを入力します。


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

実行結果を-bの時と比較すると、2行目と4行目の「何も書いていない行」にもしっかりと番号が振られているのがわかります。このファイルは全部で5行の構成であることが一目で把握できますね。

初心者向けの使い分けガイド:
  • 「何行目に何が書いてあるか」を正確に伝えたい(共同作業など)場合は、共通の物差しとなる -n がおすすめです。
  • 「実際の文章が何行あるか」に集中して読み進めたい場合は、余計な番号を表示しない -b を使うと画面がスッキリして読みやすくなります。

このように、目的が「全体のボリューム把握」なのか「中身の精査」なのかによって、これら2つのオプションを賢く使い分けましょう。どちらを使うべきか迷ったときは、まず -n で全体を見てから、空行が邪魔だと感じたら -b に切り替えるのがスムーズです。

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

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

テキストファイルやソースコードにおいて、空行は単なる隙間ではありません。段落の区切りや、処理のまとまり(ブロック)を視覚的に分かりやすくする「デザイン」の役割を持っています。しかし、デバッグ作業や設定ファイルの確認では、この空行が多すぎると、肝心の「設定値」や「命令文」がどこにあるのかを見失ってしまうことがあります。

例えば、以下のようなWebサーバーの設定をイメージした「config.txt」というファイルがあるとします。設定項目が離れていて、少し読みづらい状態です。


cat config.txt
ServerName localhost

Port 80

DocumentRoot /var/www/html

このファイルに対して cat -b を実行すると、空行の存在感はそのままに、実力のある行(データが入っている行)だけにスポットライトを当てることができます。


cat -b config.txt
     1	ServerName localhost

     2	Port 80

     3	DocumentRoot /var/www/html

このように表示されることで、「実際に有効な設定は3つある」ということが瞬時に判断できます。もしこれが cat -n だと、空行にも番号が振られるため、「5行のファイル」として認識してしまい、パッと見た時にどれが重要な行なのか判断を誤る可能性があります。

デバッグ時のヒント: プログラムの動作不良(バグ)を探す際、cat -b を使えば「コードが存在する行」だけに集中できるため、無駄な空白に惑わされずにロジックのミスを見つけやすくなります。特に数百行を超える設定ファイルを確認する場面で、その真価を発揮します。

空行が持つ「読みやすさ」というメリットを活かしつつ、cat -b で「情報の密度」を正確に把握する。この使い分けができるようになると、Linuxでのファイル操作がより一層スムーズになります。

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

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

cat -bを使用すると、行番号の桁数はシステムによって自動的に整列されます。デフォルトでは6桁分の幅が確保され、番号の後には「タブ文字」という特殊な空白が挿入される仕組みです。これにより、行番号とファイルの内容がくっついてしまうことがなく、常に整ったレイアウトで内容を閲覧できるのが大きなメリットです。

プログラミング未経験の方の中には、「行数が増えたら数字がズレて読みづらくなるのでは?」と心配される方もいるかもしれません。しかし、cat -bなら心配無用です。例えば、1桁の行番号と3桁の行番号が混在しても、開始位置がピシッと揃います。

以下の「shopping_list.txt」という、少し長めのリストを想定した例を見てみましょう。


cat -b shopping_list.txt
     1	たまねぎ
     2	にんじん
...
   100	じゃがいも
   101	カレールー

このように、100行を超えるような場面でも数字が右側に揃う(右詰め)ため、視認性が損なわれません。大量のデータが記録されているシステムログや、長大な設定ファイルをスクロールしながら確認する場合でも、行番号が目印となって「今どこを読んでいるか」を迷わずに把握できます。

ここが便利!: 行番号の表示が整っていると、画面をキャプチャして他人に共有する際や、エラー箇所を特定して報告する際にも、情報の誤認を防ぐことができます。

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などを使えば十分です。

まとめ

まとめ
まとめ

本記事ではLinuxの基本コマンドであるcatコマンドの中でも、特に実務や学習の現場で役立つcat bオプションについて詳しく解説してきました。catコマンドはLinux初心者が最初に触れる代表的なコマンドの一つであり、ファイル内容の表示や確認を行う際に欠かせない存在です。その中でもcat bは空行を除いて行番号を付けるという特徴を持ち、ファイルの中身をより見やすく整理して確認するための重要な機能となります。

cat bオプションの最大のポイントは、空行を無視して意味のある行だけに番号を振るという点にあります。これによりプログラムコードや設定ファイルのように空白行が多く含まれるファイルでも、実際に記述されている重要な行数だけを正確に把握することができます。Linuxコマンドを使った作業では、こうした細かな違いを理解して使い分けることが効率化の鍵となります。

cat bの基本的な使い方を振り返る

cat bの基本構文は非常にシンプルで、対象のファイル名を指定するだけで実行できます。初心者でもすぐに扱えるのが魅力です。


cat -b sample.txt
     1	Hello, Linux!

     2	This is a test file.

     3	Have a nice day.

このように実行することで、空行を飛ばしながら内容のある行だけに番号が付与されます。Linux初心者の方はまずこの基本動作を確実に理解しておくことが重要です。

cat nとの違いを正しく理解する

cat bとよく比較されるのがcat nオプションです。cat nはすべての行に番号を付けるのに対して、cat bは空行を除外します。この違いを理解して使い分けることで、ファイルの用途に応じた最適な表示方法を選択できます。


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

実務では全体の行数を確認したい場合はcat n、実際の内容だけに集中したい場合はcat bを使うという判断が求められます。Linuxコマンドの理解を深める上で非常に重要なポイントです。

実務での活用シーンを理解する

cat bは単なる学習用コマンドではなく、実際の開発現場やサーバー運用においても活用されます。特に設定ファイルやログファイルの確認時には、空行を除いた有効な行だけを把握することで、ミスの発見や作業効率の向上につながります。


cat -b config.txt
     1	ServerName localhost

     2	Port 80

     3	DocumentRoot /var/www/html

このように実際に意味を持つ設定項目だけを整理して確認できるため、初心者でも直感的に内容を理解しやすくなります。Linuxの基本操作としてcat bを身につけておくことで、将来的なスキルアップにも大きく貢献します。

他のオプションとの組み合わせ

cat bは他のオプションと組み合わせることでさらに便利に使うことができます。例えばタブ文字の可視化や特殊文字の確認などと併用することで、ファイルの構造をより深く理解することが可能です。


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

     2	This^Iis^Ia^Itest^Ifile.

     3	Have^Ia^Inice^Iday.

このようにタブの位置を確認しながら行番号を付けることで、データの整形やトラブルシューティングにも役立ちます。Linuxコマンドは組み合わせることで真価を発揮するため、少しずつ応用力を高めていくことが大切です。

初心者が意識すべきポイント

Linux初心者がcat bを学ぶ際には、単にコマンドを覚えるだけでなく、どのような場面で使うのかを意識することが重要です。例えばコードレビューや設定確認ログ分析などの場面では、空行の有無が読みやすさに大きく影響します。その中でcat bを使うことで重要な情報だけを抽出し、効率よく理解することができます。

またLinuxコマンドは日常的に使うことで自然と身についていきます。最初は難しく感じるかもしれませんが、cat bのような基本コマンドを繰り返し使うことで、コマンドライン操作への抵抗感も徐々に減っていきます。プログラミング未経験者でも一歩ずつ確実にスキルを積み上げていくことが可能です。

cat bはシンプルでありながら実務に直結する非常に重要なコマンドです。Linuxの基礎をしっかり固めるためにも、本記事で学んだ内容を繰り返し実践し、実際の環境で試してみることをおすすめします。Linuxコマンドの理解は積み重ねによって確実に成長していきますので、焦らず継続して学習を進めていきましょう。

先生と生徒の振り返り会話

生徒

cat bは空行を除いて番号を付けるコマンドなんですね

先生

そうです重要な行だけを見やすくするための便利な機能です

生徒

cat nとの違いもよく分かりました

先生

目的に応じて使い分けることが大切です

生徒

実際の設定ファイルでも役立ちそうです

先生

現場では頻繁に使う基本コマンドの一つです

生徒

他のオプションと組み合わせるのも面白そうです

先生

組み合わせることでより高度な操作が可能になります

生徒

これからたくさん使って覚えていきます

先生

継続して使うことで自然と身についていきますよ

関連記事:
カテゴリの一覧へ
新着記事
New1
圧縮・アーカイブ
bunzip2 -fオプションの使い方を完全ガイド!Linuxで圧縮ファイルを強制上書きする方法
New2
テキスト・データ処理
headコマンドとは?Linuxでファイルの先頭部分を表示する基本
New3
Linuxコマンドの基本
Linuxのパスの基本!絶対パスと相対パスの違いを初心者向けにやさしく解説
New4
ディスクとファイルシステム管理
mountコマンドの使い方を完全ガイド!初心者でもわかるLinuxのファイルシステムマウント方法
人気記事
No.1
Java&Spring記事人気No1
ファイル・ディレクトリ操作
findコマンドの使い方を完全ガイド!初心者でもわかるLinuxのファイル検索の基本
No.2
Java&Spring記事人気No2
テキスト・データ処理
catコマンドとは?Linuxでファイル内容を表示・連結する基本
No.3
Java&Spring記事人気No3
ファイル・ディレクトリ操作
cd ~ の使い方を完全解説!ホームディレクトリへの移動方法と初心者向けLinuxコマンド入門
No.4
Java&Spring記事人気No4
圧縮・アーカイブ
tarコマンドの使い方を完全ガイド!初心者でもわかるLinuxのアーカイブ作成と解凍の基本