catコマンドは、FILE...
で指定したファイルの内容を連結して出力します。
- ① -b
- 先頭行を1行目として、空白行は含めずに行番号を付けます。
- ② -n
- 先頭行を1行目として、空白行も含めてすべての行に行番号を付けます。
- ③ -s
- 連続する複数の空白行を、ひとつの空白行にします。
- ④ -v
(改行)と (タブ)を除く制御コードを、制御文字に置き換えて出力します。
制御コードとは、ASCII文字以外のコードで、例えば「0x00」というコードをNULL(ヌル)コードといいます。これは画面に出力できる文字に変換できません。制御文字とは、制御コードを画面に出力できる文字に置き換えたもので、「0x00」の場合は「^@」という文字で置き換えられます
- ① FILE...
- 連結するファイルをスペースで区切って指定します。ワイルドカードによる指定も可能です。省略時には、標準入力から読み込みます。
FILE...
にテキスト以外のファイルを指定した場合には、画面上に表示できない制御コードなどが入り、文字化けしたデータが延々とビープ音とともに出力されることがあります。そのままにしておくとキー入力が受け付けられなくなる場合もありますので、即座に[Ctrl]+[C]キーを押して中断しましょう。また、これを防ぐためには、オプション「-v」を付けるのが有効です
$ cat -b file01
オプション「-b」を指定すると、空白行でない行にだけ行番号が付く1 これはfile01の内容です。
2 2行の空白行に続き、この行があります。
$
$ cat -n file01
オプション「-n」を指定すると、すべての行に行番号が付く1 これはfile01の内容です。
2
3
4 2行の空白行に続き、この行があります。
$
$ cat -s file01
オプション「-s」を指定すると、連続する複数の空白行が1行にまとめられるこれはfile01の内容です。
2行の空白行に続き、この行があります。
$
$ cat -v bin01
^@^A^B^C^D^E^F^G^N^O^P^Q^R^C^T^U^V^W^X^Y^Z^[^\^] 0123456789:;<=>?
$
$
$
$ cat file02
これはfile02の内容です。
$ cat file03
これはfile03の内容です。
$ cat file04
これはfile04の内容です。
$ cat file02 file03 file04 > file234
「file02」「file03」「file04」の3つのファイルを連結して、リダイレクトによって「file234」というファイルへ出力$ cat file234
これはfile02の内容です。
これはfile03の内容です。
これはfile04の内容です。
$
catコマンドは、リダイレクト(「>」や「>>」)を使って連結した結果をファイルに出力するという使い方が一般的です。リダイレクトを使わず画面に表示する場合、ファイルの最後になるまで延々と出力を繰り返します。1画面に収まりきらない場合がほとんどですから、パイプ(|)を使用して、moreコマンドを実行して1画面ずつ表示するとよいでしょう。
moreコマンド
関連タグ
本コンテンツは「UNIXコマンド辞典 ビギナー編」(2003年)を元にWeb用に再編集したものです
All Contents copyright © 2003-2009 Odyssey Communications Inc., Shoeisha Co., Ltd.