ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
![]() |
マニュアルページセクション 1: ユーザーコマンド Oracle Solaris 11 Information Library (日本語) |
- ファイルの連結と表示
/usr/bin/cat [-nbsuvet] [file...]
cat ユーティリティは file を指定された順に読み込み、標準出力に出力します。したがって、
example% cat file
は、file を端末に出力します。
example% cat file1 file2 >file3
は、file1 と file2 を連結して、結果を file3 に出力します。入力ファイルが指定されなかったときは、cat は標準入力ファイルから読み込みます。
/usr/bin/cat では次のオプションを使用できます。
-n と同様に行番号を振ります。ただし、空行は数えません。
各出力行の前に、行番号を振ります。
cat は、ファイルが存在しないとき何もしません。
出力はバッファリングされません
デフォルトでは、出力はバッファリングされます。
タブを除く非印刷文字、NEWLINE、およびフォームフィードが明確に出力されます。ASCII 制御文字 (8 進数の 000 から 037) は ^n として出力されます。ここで n は対応する ASCII 文字で、8 進数で 100 から 137 (@、A、B、C、. . .、X、Y、Z、[、\、]、^、_) の範囲の文字です。DEL 文字 (8 進数で 0177) は ^? として出力されます。その他の非印字文字は M-x として出力されます。ここで、x は ASCII の下位 7 ビットで示される文字です。
-v オプションを使用した場合、次のオプションも使用できます。
$ 記号が各行の最後 (NEWLINE の前) に出力されます。
タブは ^I として、フォームフィードは ^L としてそれぞれ出力されます。
-e オプションおよび -t オプションは、-v オプションが指定されていなければ無視されます。
次のオペランドを指定できます。
入力ファイルのパス名。file の指定がない場合は、標準入力を使用します。file として - が指定されると、cat はその時点で標準入力を読み込みます。このように - をいくつでも file として指定できますが、cat はそのたびに標準入力をクローズしたり再オープンすることはありません。
ファイルが 2G バイト (2 31 バイト) 以上ある場合の cat の動作については、 largefile(5) を参照してください。
例 1 1 つのファイルを書き出す
次のコマンドは、myfile というファイルの内容を標準出力に書き出します。
example% cat myfile
例 2 2 つのファイルを 1 つのファイルに連結する
次のコマンドは、2 つのファイル doc1 と doc2 を連結してその結果を doc.all に書き出します。
example% cat doc1 doc2 > doc.all
例 3 cat の呼び出し 1 回で 2 組の入力を連結する
このコマンドは、標準入力が端末の場合に、1 回の cat の呼び出しで端末から 2 組の入力データを取得します。
example% cat start - middle - end > file
このコマンドは、標準入力が端末の場合には、1 回の cat の呼び出しで、端末から 2 組の入力データを得るものです。
標準入力が通常ファイルの場合、
example% cat start - middle - end > file
次のコマンドと同等になります。
cat start - middle /dev/null end > file
なぜなら、1 つ目の - 指定に対して cat は標準入力ファイルの内容をすべて読み取ってしまい、2 つ目の - 指定に対してはただちにファイルの終わり (EOF) が検出されるためです。
cat の実行に影響を与える次の環境変数についての詳細は、environ(5) を参照してください。LANG、LC_ALL、LC_CTYPE、LC_MESSAGES、および NLSPATH。
次の終了値が返されます。
入力ファイルはすべて正常に出力されました。
エラーが発生しました。
属性についての詳細は、マニュアルページの attributes(5) を参照してください。
|
touch(1), attributes(5), environ(5), largefile(5), standards(5)
cat の出力先を入力中のファイルに変更すると、入力ファイルのデータが失われます。たとえば、次のように指定します。
example% cat filename1 filename2 > filename1
この例では filename1 の元データが失われます。