cat コマンドは、ファイルの内容を表示するためのコマンドです。GNU coreutils に含まれており、Linux では GNU 版が、FreeBSD では BSD 版が提供されています。基本的な動作は共通していますが、細かなオプションの違いがあります。

基本的な使い方

編集
cat [オプション] ファイル...

主なオプション(GNU coreutils版)

編集
主なオプション
オプション 説明
-A, --show-all すべての非印刷文字を表示
-b, --number-nonblank 空白行を除いて行番号を付ける
-E, --show-ends 行の終わりに '$' を表示
-n, --number すべての行に番号を付ける
-s, --squeeze-blank 連続する空白行を1行にまとめる
-T, --show-tabs タブ文字を ^I で表示
-v, --show-nonprinting 非印刷文字を表示

ファイルの内容を表示

編集
cat file.txt

file.txt の内容を表示。

複数ファイルの内容を表示

編集
cat file1.txt file2.txt

file1.txtfile2.txt の内容を順に表示。

行番号を付けて表示

編集
cat -n file.txt

file.txt の各行に番号を付けて表示。

空白行を除いて行番号を付けて表示

編集
cat -b file.txt

空白行を除いた file.txt の内容を行番号付きで表示。

非印刷文字を表示

編集
cat -v file.txt

file.txt の非印刷文字(制御文字など)を表示。

行末に '$' を表示

編集
cat -E file.txt

file.txt の各行の末尾に '$' を表示。

連続する空白行を1行にまとめる

編集
cat -s file.txt

file.txt の連続する空白行を1行にまとめて表示。

FreeBSD 版との違い

編集

FreeBSD でも cat コマンドは提供されていますが、GNU coreutils 版といくつか違いがあります。

主な違い:

編集
  1. -n(すべての行に番号を付ける)オプションの動作が異なる
    • FreeBSD では、cat -n オプションは空白行にも番号を付ける。
    • 一方、GNU 版では空白行には番号が付かない。
  2. -A(すべての非印刷文字を表示)オプションがない
    • FreeBSD の cat には、-A オプションがないため、非印刷文字の表示には -v を使う必要がある。
  3. GNU coreutils 版を FreeBSD で使う方法
    • coreutils パッケージをインストールすると gcat という名前で GNU 版 cat が使える。
    pkg install coreutils
    gcat -A file.txt  # GNU coreutils 版の cat
    

詳しくは、それぞれの環境で man cat を確認してください。