Linux catコマンド完全攻略:実務ですぐに使える主要オプション5選と実行結果まとめ

概要

Linux環境でテキストファイルの内容を素早く確認・結合する際に最も広く使われている基本ツールが cat コマンドです。単純なファイル閲覧にとどまらず、行番号の表示、連続する空行の圧縮、特殊文字の可視化など、実務作業の効率を最大化する主要オプションをUbuntuの検証環境で実際に確認します。各オプションの動作の違いと実際のターミナル出力結果を比較しながら、ターミナルの生産性を一段階向上させてみましょう。

1. 実習用サンプルテキストファイルの作成と基本確認

cat コマンドの様々なオプションの実習を行うため、連続する空行、タブ文字、末尾のスペースが含まれた sample.txt ファイルを作成します。

printf ‘First line\n\n\nSecond line with tab:\t[TAB]\nThird line with trailing space   \n’ > sample.txt

cat コマンドは、指定したファイルの内容をターミナル画面にそのまま出力します。
オプションなしで実行すると、ファイルの元のテキストをありのまま表示します。
⚙️ [主要オプション]

-n : 空行を含むすべての行の先頭に行番号を付けて出力します。
-b : 空行以外の行にのみ行番号を付けて出力します。
-s : 2行以上連続する空行を1行の空行に圧縮して表示します。
-E : 各行の末尾に改行文字を表す $ 記号を表示します。
-T : タブ(Tab)文字が含まれる位置に ^I 記号を表示し、視覚的に区別します。

cat sample.txt

2. 行番号表示オプションの比較 (-n vs -b)

cat -n sample.txt コマンドは、ファイルのすべての行に行番号を付けて出力します。
テキストのない空行(2行目、3行目)も含めて、全体の行の流れや位置を確認する際に役立ちます。

cat -n sample.txt

cat -b sample.txt コマンドは、空行以外の行にのみ行番号を付けて出力します。
内容のない空行には番号が振られないため、実際に有効なデータ行数のみを把握するのに便利です。

cat -b sample.txt

3. 連続する空行を1つに圧縮して視認性を高める (-s)

cat -s sample.txt コマンドは、連続する空行を単一の空行に圧縮して出力します。
不要に長い余白を減らし、テキスト全体の視認性を高める際に有用です。

cat -s sample.txt

cat -ns sample.txt コマンドは、連続する空行を1行に圧縮すると同時に、すべての行に行番号を付けて出力します。
圧縮された状態の総行数とテキストの位置を一目で把握するのに効果的です。

cat -ns sample.txt

4. 不可視の特殊文字および改行/タブの可視化 (-E, -T, -A)

cat -E sample.txt コマンドは、各行の末尾(改行位置)に $ 記号を表示して出力します。
文末に目に見えない空白(末尾スペース/Trailing Space)や不要な改行が存在するかを直感的に確認する際に役立ちます。

cat -E sample.txt

cat -T sample.txt コマンドは、タブ(Tab)文字を ^I 記号に置換して画面に出力します。
通常のスペースとタブ文字を明確に区別できるため、コードや設定ファイルのインデントの乱れをチェックするのに効果的です。

cat -T sample.txt

cat -A sample.txt コマンドは、隠れた特殊制御文字や改行、タブをすべて可視化して出力します。
-vET オプションを組み合わせたものと同等に動作し、タブ(^I)と改行($)を同時に表示して、見えない空白によるバグを一度にチェックするのに適しています。

cat -A sample.txt

5. 複数ファイルの結合とEOFを活用したファイル作成の応用

ファイル結合の実習のため、ヘッダー内容を含む header.txt ファイルを作成します。

echo ‘Header Info’ > header.txt

cat header.txt sample.txt > merged.txt コマンドは、header.txt と sample.txt の2つのファイルの内容を順番に結合し、新しい merged.txt ファイルとして保存します。
複数のテキストファイルを1つにまとめたり、ドキュメントの先頭に見出しを追加したりする際に効果的です。

cat header.txt sample.txt > merged.txt

cat << 'EOF' > append_test.txt コマンドは、ヒアドキュメント(Here Document)構文を使用して、EOF を入力するまでに記述した複数行の内容で append_test.txt ファイルを作成します。
エディタを開くことなく、シェル環境から複数行のテキストを素早くファイルに書き込む際に重宝します。

cat « ‘EOF’ > append_test.txt
Line A
Line B
EOF

cat merged.txt append_test.txt コマンドは、先ほど作成した merged.txt と append_test.txt の内容を順番に連結してターミナル画面に出力します。
結合されたデータ全体の流れや順序が正しく構成されているかを一目で確認できます。

cat merged.txt append_test.txt

ここまで、Linuxの cat コマンドの基本概念から、実務で頻繁に活用される5つの主要オプションと実行結果までを簡単にまとめました。
状況に応じたオプションを積極的に活用し、ターミナル環境でのファイル確認および作業効率をさらに高めてみてください。