cat ファイルの内容を表示する、またはファイルをつなげる
cat [オプション] [ファイル...]試してみる
cat a.txtファイルの内容をそのまま表示します。
cat a.txt b.txt複数のファイルを順につなげて表示します。
cat a.txt b.txt > all.txtつなげた結果をリダイレクトで新しいファイルに保存します。
cat -n access.log行番号を付けて表示します。
cat -A a.txt行末は $、タブは ^I と表示します。見えない文字の確認に使えます。
tac access.log | head -n 2tac は行の順番を逆にして表示します。最後の2行が先に出ます。
主なオプション
-n | すべての行に行番号を付ける |
|---|---|
-b | 空行以外に行番号を付ける |
-s | 連続する空行を1行にまとめる |
-A | 行末やタブなどの見えない文字を表示する |
解説
基本
cat はファイルを読んで、標準出力に書き出します。名前は「連結する(concatenate)」からで、複数のファイルを並べると順につなげて出力します。リダイレクトと組み合わせると、ファイルの結合になります。
ファイル名を省略したとき
ファイル名を書かない、または - と書くと、標準入力を読みます。パイプの途中でも使えます。
長いファイルには向かない
全部を一度に流すので、長いファイルは画面を流れてしまいます。先頭だけなら head、末尾だけなら tail、ページ送りで読むなら less を使います。
行番号
-n はすべての行に、-b は空行を除いた行に番号を付けます。番号の形式まで指定したいときは nl が向いています。
逆順
tac は cat を逆から読むコマンドで、行の順番を逆にして出力します。