- 目次 -
catコマンドとは
説明が不要かもですが、そもそもcatコマンドは
ファイルを連結または表示します
というコマンドです。
ファイルを参照したり連携させたりするのに使います。
以降では下のsample.txtを例にします。(3、4行目は空行、5行目の頭にタブが入っている)
■sample.txt
1行目です。
2行目です。
5行目です。
基本的な使い方
cat ファイル名
ファイルの内容を標準出力(ターミナル)に表示します。
出力例:
$ cat sample.txt
1行目です。
2行目です。
5行目です。
cat
コマンドのオプション
コマンド | 説明 |
---|---|
cat -n | 行番号を付けて表示 |
cat -b | テキスト行のみに行番号を表示 |
cat -s | 連続した空行を1行にまとめて |
cat -T | タブを^I(i)で表示する |
cat -v | 制御文字を可視化 |
cat -E | 行末の改行を $ で表示 |
cat -A | -vTEと同様 |
行番号を表示する:-n
各行の先頭に行番号を付けて表示します。
cat -n ファイル名
出力例:
$ cat -n sample.txt
11行目です。
2 2行目です。
3
4
55行目です。
空行を除いて行番号を表示する:-b
空白行には番号を付けず、テキスト行のみに行番号を表示します。
cat -b ファイル名
出力例:
$ cat -b sample.txt
11行目です。
2 2行目です。
35行目です。
連続した空行を1行にまとめる:-s
連続した空行を1行にまとめて表示します。
cat -s ファイル名
出力例:3,4行目がまとめて1行の空行になります
$ cat -s sample.txt
1行目です。
2行目です。
5行目です。
タブを可視化する -T
タブを ^I
で表示します。
cat -T ファイル名
出力例:
$ cat -T sample.txt
1行目です。
2行目です。
^I5行目です。
改行や特殊文字を可視化する:-v
, -E
-v
:制御文字を可視化(例:^M
など。^Mについては後述)-E
:行末の改行を$
で表示
cat -vE ファイル名
出力例:
$ cat -vE sample.txt
1行目です。
$2行目です。
$
$
$
5行目です。
$
改行や特殊文字、タブを可視化する:-A
-v、-V、-Tを指定したものと同等で、制御構文、改行、タブを可視化します。
cat -A ファイル名
出力例:
$ cat -vE sample.txt
1行目です。
$2行目です。
$
$
$
^I5行目です。
$
参照以外の使い方
ファイルの結合
file1.txt
と file2.txt
を結合し、新しい merged.txt
を作成します。
splitコマンドで分割したファイルもこれで結合できます。
(splitコマンドについては後日まとめてみます)
$ cat file1.txt file2.txt > merged.txt
テキストの追加(リダイレクト)
newfile.txt
を作成し、EOF を入力するまでに入力したテキストを書き込みます。
$ cat <<EOF > newfile.txt
次の行> これは新しいファイルです。
EOF
$ cat newfile.txtこれは新しいファイルです。
既存ファイルに追記
additional.txt
の内容を
に追加します。sample.txt
sample.txt の後ろにadditional.txtの内容が追記されます。
$ cat additional.txt >> sample.txt
cat
と tac
(逆順表示)
通常 cat
はファイルを上から表示しますが、tac
を使うと逆順に表示できます。
$ tac sample.txt
出力例:
$ cat sample.txt
5行目です。
2行目です。
1行目です。
^M
ってなんだ?
^M
は、制御文字(Control Character)の一種で、キャリッジリターン(Carriage Return, CR) を意味します。ざっくりと改行コードです。
主に Windows と UNIX/Linux の改行コードの違い によって発生します。
Windows では CRLF
(\r\n
) が改行として使われますが、UNIX 系の環境では LF
(\n
) のみを使用します。そのため、Windows で作成したファイルを Linux で開くと、不要な CR
(\r
) が残り、それが ^M
として表示されます。
OS | 改行コード |
---|---|
Linux / macOS | LF (\n ) |
Windows | CRLF (\r\n ) |
確認する方法として、cat -v
などでファイル内にある CR
を ^M
として表示することがあります。

コメント