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 を確認してください。