cat - ファイルを表示する

catコマンドは、主にファイルを表示するコマンドとして使われます。他にも、ファイルを連結させて表示をすることができます。また、オプションをつけることで、空行をまとめたり、行番号を表示することができます。

catコマンドとは

ファイルを連結して、標準出力に書き出すことができるコマンドです。このコマンドについて、英語版Gnu Coreutilsでは「Concatenate and write files」と表現されています。

catの機能は、それぞれのファイルや標準入力を標準出力にコピーします。また、ファイルを単純に表示することにも使われます。

catコマンドの構文

オプション:0個以上のオプションをつけることができます。

入力ファイル:0個以上の入力ファイルを指定できます。入力ファイルがない、または「-」ならば、標準入力が指定されます。

コマンド例の想定

catコマンドで表示させるファイルとして以下のファイルを想定します。

test.txt

test2.txt

test_tabfile.txt

test_emptyline.txt

catコマンドの利用例

ファイルの内容を標準出力に表示

catコマンドはファイルの内容を確認することができます。

コマンド例

実行結果

ファイルの内容を逆に表示させるコマンドとしてtacコマンドもあります。

コマンド例

実行結果

ファイルの内容を連結

catコマンドは、ファイルを2つ以上指定することでファイルの内容を連結させることができます。

コマンド例

実行結果

リダイレクトを行うことで、連結させたファイルの内容を別のファイルに書き出すことができます。

コマンド例

output.txt

「>」はリダイレクトを行うための記号で、コマンドで標準出力に表示する内容を別のファイルに書き出すことができます。test.txtとtest2.txtの連結した内容をリダイレクトすることでoutput.txtに書き出すことができます。

標準入力の内容を表示

catコマンドでファイルを指定しない場合は、標準入力の内容を表示することができます。

コマンド例

実行結果

また、ファイルを標準入力として渡す方法としては「<」のリダイレクトで渡す方法もあります。

コマンド例

実行結果

標準入力をファイルとして任意の場所で連結させたい場合は「-」を用いる事ができます。

コマンド例

実行結果

コマンド例

実行結果

行番号を表示
(-nオプション)

-nオプションは、表示する内容に行番号を表示することができます。また、空行を除いた行番号表示の-bオプションがある場合は無効になります。

コマンド例

実行結果

空行を1つにまとめる
(-sオプション)

-sオプションは、連続した空行を一つの空行にまとめることができます。

コマンド例

実行結果

空行を除いた行番号を表示
(-bオプション)

-bオプションは、空行以外に対して行番号を表示することができます。

コマンド例

実行結果

行の終端に$を追加して表示
(-Eオプション)

-Eオプションは、行の終端に「$」を追加して表示します。

コマンド例

実行結果

タブを「^I」で表示
(-Tオプション)

-Tオプションはtabを「^I」で表現して表示します。

コマンド例

実行結果

制御文字を表示する
(-vオプション)

LFDとTAB以外の制御文字をキャレット(^)記法で表示します。また、上位ビットを持つ文字は、「M-」を前につけます。

コマンド例

実行結果

制御文字とアルファベットの組み合わせの例は以下のようになります。
また、\tはタブ、\rは復帰、\aはベル、\nは改行になります。
コマンド例

実行結果

他のオプション(-eオプション、-tオプション、-Aオプション)

制御文字表示と行の終端に「$」を追加して表示
(-eオプション)

-eオプションは、-vEオプションと同じです。

コマンド例

実行結果

制御文字表示とタブを「^T」で表示
(-tオプション)

-tオプションは、-vTオプションと同じです。

コマンド例

実行結果

制御文字表示とタブを「^T」で表示と行の終端に「$」を追加して表示
(-Aオプション)

-Aオプションは、-vETオプションと同じです。

コマンド例

実行結果

参考

外部リンクGnu Coreutils

外部リンクGnu Coreutils日本語版