【コマンド詳細】catの使い方とオプションまとめ

  • URLをコピーしました!
目次

catコマンド概要

catコマンドは、テキストファイルの内容を表示、結合、リダイレクトするために使用されるコマンドです。
シンプルなコマンドでありながら、ファイル操作やシェルスクリプトでの使用頻度が高いため、
Linuxユーザーにとって必須のコマンドの一つです。

オプション一覧表

オプション説明使用例
-n各行に行番号を表示cat -n file.txt
-b空行を除いて行番号を表示cat -b file.txt
-E各行の末尾に$を表示cat -E file.txt
-s連続する空行を一つに圧縮cat -s file.txt
-Tタブ文字を^Iで表示cat -T file.txt
-A-vETと同等、不可視文字も表示cat -A file.txt

各オプションの詳細な使い方

ファイル内容の表示(cat file.txt

単にcatコマンドを使うだけで、ファイルの内容を標準出力に表示します。
このコマンドは以下のようにして使用されます。

cat file.txt

行番号を表示する(-n

-nオプションは、各行に行番号を付与して表示します。
これはコードレビューやデバッグの際に便利です。

cat -n file.txt

使用例

file.txtの内容が以下のようになっている場合:

Hello
World
This is cat command.

コマンドを実行すると、以下のように行番号が表示されます。

1  Hello
2  World
3  This is cat command.

空行を除いて行番号を表示する(-b

-bオプションは、空行を無視して行番号を表示します。

cat -b file.txt

使用例

空行があるファイルに対してcat -bを使用すると、
空行には行番号が付かず、他の行のみ番号が振られます。

行末に$を表示する(-E

-Eオプションは、各行の末尾に$記号を表示し、
改行や空白を確認しやすくするために使われます。

cat -E file.txt

使用例

file.txtの内容が以下のようであった場合:

Hello  
World   
This is cat command.

実行結果:

Hello  $
World   $
This is cat command.$

各行末に$が付与され、空白や改行の場所が明確に確認できるようになります。
特に、テキスト処理やフォーマットの確認に役立ちます。

連続する空行を1つに圧縮する(-s

-sオプションは、複数の連続する空行を1行にまとめます。
ログファイルやテキストファイルの表示をスッキリさせるのに便利です。

cat -s file.txt

使用例

file.txtの内容が以下のようであった場合:

Hello


World


This is cat command.

実行結果:

Hello

World

This is cat command.

連続した空行が1行に圧縮され、見やすくなります。
長いテキストファイルの出力整理に便利です。

タブ文字を^Iで表示する(-T

-Tオプションは、タブ文字を^Iで表現して表示します。
タブ文字とスペースを明確に区別する際に使えます。

cat -T file.txt

使用例

file.txtの内容が以下のようであった場合(^はタブを示します):

Hello	World
This	is	cat	command.

実行結果:

Hello^IWorld
This^Iis^Icat^Icommand.

タブ文字が^Iとして表示され、スペースとタブを区別できるため、
インデントや配置を正確に確認できます。

不可視文字も含めて表示する(-A

-Aオプションは、不可視文字を表示し、行末の改行記号やタブ記号なども表示することで、
ファイルの細かい内容を確認できます。-vETオプションと同等の機能です。

cat -A file.txt

使用例

file.txtの内容が以下のようであった場合(タブと改行、非表示文字を含む):

Hello	World	
This is cat command.

実行結果:

Hello^IWorld$
This is cat command.$

行末の改行が$、タブが^Iで表示され、不可視文字が明確に確認できます。
制御文字や特殊な改行の確認に便利です。

catコマンドの応用例

複数ファイルの結合

catコマンドを使うと、複数のファイルを1つに結合して表示できます。

cat file1.txt file2.txt

また、リダイレクト機能を使って結果を別のファイルに保存することも可能です。

cat file1.txt file2.txt > merged.txt

ファイルの内容を新しいファイルに追加

既存のファイルに内容を追加したい場合は、>>演算子を使用します。

cat new_content.txt >> existing_file.txt

大規模ファイルの表示を制限する

catコマンドはheadtailコマンドと組み合わせて使用することもできます。
例えば、最初の10行のみを表示したい場合:

cat file.txt | head -n 10
    目次