GNU Core Utilities/cat
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.txt
と file2.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 版といくつか違いがあります。
主な違い:
編集-n
(すべての行に番号を付ける)オプションの動作が異なる- FreeBSD では、
cat -n
オプションは空白行にも番号を付ける。 - 一方、GNU 版では空白行には番号が付かない。
- FreeBSD では、
-A
(すべての非印刷文字を表示)オプションがない- FreeBSD の
cat
には、-A
オプションがないため、非印刷文字の表示には-v
を使う必要がある。
- FreeBSD の
- GNU coreutils 版を FreeBSD で使う方法
coreutils
パッケージをインストールするとgcat
という名前で GNU 版cat
が使える。
pkg install coreutils gcat -A file.txt # GNU coreutils 版の cat
詳しくは、それぞれの環境で man cat
を確認してください。