cat コマンド

目的

ファイルを連結または表示します。

構文

cat - ] [  -r ] [ - ] [ - ] [ - ][ - ] [ - - ] ] [ - - ] [ - ] ] [  File ... ]

説明

cat コマンドは、各 File パラメーターを順に読み取って、それを標準出力に書き出します。 ファイル名を指定しないと、cat コマンドは、標準入力から読み取ります。 標準入力のファイル名として - (ダッシュ) を指定することもできます。

重要: 入力ファイルの 1 つに出力をリダイレクトする場合、リダイレクト記号の > (より大記号) を使用しないでください。 > リダイレクト記号を使用すると、cat コマンドが入力ファイルを読み取る前に、シェルはそのファイルを切り捨てるので、そのファイル内の元のデータは失われてしまいます。
注: このコマンドによって生成される読み取り/書き込みシステム呼び出しの入出力バッファー・サイズは、AIX_STDBUFSZ 環境変数を使用して構成できます。

フラグ

項目 説明
-b -n フラグと共に指定すると、 空白行の行番号が省略されます。
-e -v フラグと共に指定すると、 $ (ドル記号) を各行の末尾に表示します。
-n 出力行の先頭に、1 から順に行番号を表示します。
-q cat コマンドで入力ファイルが見つからない場合、メッセージは表示されません。 このフラグは -s フラグと同じです。
-r 複数の連続する空白行を 1 行の空白行に置き換えます。 このフラグは -S フラグと同じです。
-s cat コマンドで入力ファイルが見つからない場合、メッセージは表示されません。 このフラグは -q フラグと同じです。
注: 現在は -S フラグに割り当てられているタスクを、以前は -s フラグで処理していました。
-S 複数の連続する空白行を 1 行の空白行に置き換えます。 このフラグは -r フラグと同じです。
-t -v フラグと共に指定すると、 タブ文字を ^I として表示します。
-u 出力をバッファーしません。 デフォルトはバッファー出力です。
-v

タブ文字、改行文字、および用紙送り文字を除き、非印字文字を可視文字として表示します。 ASCII 制御文字 (8 進の 000 から 037) は、^n として印刷されます。ここで n は、8 進の 100 から 137 の範囲の ASCII 文字 (@、A、B、C、...、X、Y、Z、[、¥、]、^、および _) です。また DEL 文字 (8 進の 0177) は ^? として印刷されます。その他の印字不能文字は M-x として印刷されます。 ここで x は、下位 7 ビットで指定された ASCII 文字です。

-v オプションと一緒に使用する場合に、以下のオプションを使用することができます。

-e
改行の前の、各行の終わりに $ 文字が印刷されます。
-t
タブ文字は ^I、用紙送り文字は ^L として印刷されます。

-e オプションと -t オプションは、-v オプションが指定されていない場合には無視されます。

- 標準入力を cat コマンドに許可します。
Z 暗号化ファイルの内容を暗号化されたフォーマットでダンプします。 暗号化ファイルへのアクセス・キーは、ファイル上の cat -Z の実行に必須ではありません。

終了状況

このコマンドは次の終了値を戻します。

項目 説明
0 すべての入力ファイルが正常に出力されました。
>0 エラーが発生しました。

重要: 入力ファイルの 1 つに出力をリダイレクトする場合、リダイレクト記号の > を使用しないでください。
  1. ファイルをワークステーションに表示するには、次のように入力します。
    
    cat notes
    このコマンドは、notes ファイルの中のデータを表示します。そのファイルがディスプレイに表示可能な行数よりも大きい場合は、スクロールにより画面に表示されない行があります。ファイルを一度に 1 ページ分ずつ表示するには、 pg コマンドを使用します。
  2. 複数のファイルを連結するには、次のように入力します。
    cat section1.1 section1.2 section1.3 >section1
    このコマンドは、section1 という名前のファイルを作成します。このファイルは section1.1 とそれに続く section1.2 および section1.3 のコピーです。
  3. 存在しないファイルに関するエラー・メッセージが表示されないようにするには、 次のように入力します。
    cat  -q section2.1 section2.2 section2.3 >section2
    section2.1 が存在しない場合、このコマンドは section2.2section2.3 を連結します。-q フラグを使用しない場合も、cat コマンドが次のようなエラー・メッセージを表示するのを除けば同じ結果になります。
    
    cat: cannot open section2.1
    cat コマンドをシェル・プロシージャー内で使用するとき、このメッセージは -q フラグを指定することによって表示させないようにできます。
  4. 1 つのファイルを別のファイルの終わりに追加するには、 次のように入力します。
    
    cat section1.4 >> section1
    >> (2 つの大なり記号) は、 section1.4 のコピーを section1 の末尾に付加します。 ファイルを置き換えたいときは、> を使用します。
  5. テキストをファイルの終わりに追加するには、 次のように入力します。
    
    cat >>notes
    Get milk on the way home
    Ctrl-D
    このコマンドは、Get milk on the way home を、notes と呼ばれるファイルの末尾に追加します。cat コマンドではプロンプトは表示されず、テキストが入力されるまで待ち状態になります。 Ctrl-D キー・シーケンスを押して、入力が終了したことを通知してください。
  6. キーボードから入力したテキストで複数のファイルを連結するには、次のように入力します。
    cat section3.1 - section3.3 >section3
    このコマンドは、キーボードからのテキスト (負符号 (-) で表示) により、ファイル section3.1 とファイル section3.3 を連結し、その出力結果を section3 というファイルに送信します。

ファイル

項目 説明
/usr/bin/cat cat コマンドが入っています。