cat コマンド

目的

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

構文

猫 - ] [  ] [ - ] [ - ] [ - ][ - Z () ] [ - - ] ] [ - - ] [ - ] ] [  ファイル ... ]

説明

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 タブ文字を次のように表示します^I-v フラグで指定されている場合。
-u 出力をバッファーしません。 デフォルトはバッファー出力です。
-v

タブ文字、改行文字、および用紙送り文字を除き、非印字文字を可視文字として表示します。 ASCII 制御文字 (8 進数 000-037) は、 ^nとして印刷されます。ここで、 n は、8 進数範囲 100 から 137 (@、A、B、C、...) の対応する ASCII 文字です。 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.2およびsection2.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呼び出されたファイルの終わりまでnotescat コマンドはプロンプトを出さず、ユーザーがテキストを入力するのを待ちます。 Ctrl-D キー・シーケンスを押して、入力が終了したことを通知してください。
  6. キーボードから入力したテキストで複数のファイルを連結するには、次のように入力します。
    cat section3.1 - section3.3 >section3
    このコマンドは、ファイルを連結します。section3.1キーボードからのテキスト (負符号 (-) で示される)、およびファイルsection3.3次に、出力を section3というファイルに送信します。

ファイル

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