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
コマンドはhead
やtail
コマンドと組み合わせて使用することもできます。
例えば、最初の10行のみを表示したい場合:
cat file.txt | head -n 10