Shoeisha Technology Media

CodeZine(コードジン)

記事種別から探す

cat

ファイルを連結する
2015/05/20 08:00

対応OS: linux , freebsd, solaris
cat [-b] [-n] [-s] [-v] [FILE...]

 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行の空白行に続き、この行があります。
$
連続する複数の空白行を1行にまとめて表示する
$ 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の内容です。
$
HINT!

 catコマンドは、リダイレクト(「>」や「>>」)を使って連結した結果をファイルに出力するという使い方が一般的です。リダイレクトを使わず画面に表示する場合、ファイルの最後になるまで延々と出力を繰り返します。1画面に収まりきらない場合がほとんどですから、パイプ(|)を使用して、moreコマンドを実行して1画面ずつ表示するとよいでしょう。

 moreコマンド

ファイルを連結してリダイレクトする
■ ファイルを連結してリダイレクトする

関連タグ

UNIXコマンド辞典トップページに戻る

All contents copyright © 2006-2017 Shoeisha Co., Ltd. All rights reserved. ver.1.5