cat コマンド
目的
ファイルを連結または表示します。
構文
cat [ - q ] [ -r ] [ - s ] [ - S ] [ - u ][ - Z ] [ - n [ - b ] ] [ - v [ - e ] [ - t ] ] [ - | 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) は、 -v オプションと一緒に使用する場合に、以下のオプションを使用することができます。
-e オプションと -t オプションは、-v オプションが指定されていない場合には無視されます。 |
| - | 標準入力を cat コマンドに許可します。 |
| Z | 暗号化ファイルの内容を暗号化されたフォーマットでダンプします。 暗号化ファイルへのアクセス・キーは、ファイル上の cat -Z の実行に必須ではありません。 |
終了状況
このコマンドは次の終了値を戻します。
| 項目 | 説明 |
|---|---|
| 0 | すべての入力ファイルが正常に出力されました。 |
| >0 | エラーが発生しました。 |
例
重要: 入力ファイルの 1 つに出力をリダイレクトする場合、リダイレクト記号の > を使用しないでください。
- ファイルをワークステーションに表示するには、次のように入力します。
このコマンドは、notes ファイルの中のデータを表示します。そのファイルがディスプレイに表示可能な行数よりも大きい場合は、スクロールにより画面に表示されない行があります。ファイルを一度に 1 ページ分ずつ表示するには、 pg コマンドを使用します。cat notes - 複数のファイルを連結するには、次のように入力します。
このコマンドは、section1 という名前のファイルを作成します。このファイルは section1.1 とそれに続く section1.2 および section1.3 のコピーです。cat section1.1 section1.2 section1.3 >section1 - 存在しないファイルに関するエラー・メッセージが表示されないようにするには、
次のように入力します。cat -q section2.1 section2.2 section2.3 >section2section2.1 が存在しない場合、このコマンドは section2.2 と section2.3 を連結します。-q フラグを使用しない場合も、cat コマンドが次のようなエラー・メッセージを表示するのを除けば同じ結果になります。
cat コマンドをシェル・プロシージャー内で使用するとき、このメッセージは -q フラグを指定することによって表示させないようにできます。cat: cannot open section2.1 - 1 つのファイルを別のファイルの終わりに追加するには、
次のように入力します。
>> (2 つの大なり記号) は、 section1.4 のコピーを section1 の末尾に付加します。 ファイルを置き換えたいときは、> を使用します。cat section1.4 >> section1 - テキストをファイルの終わりに追加するには、
次のように入力します。
このコマンドは、Get milk on the way home を、notes と呼ばれるファイルの末尾に追加します。cat コマンドではプロンプトは表示されず、テキストが入力されるまで待ち状態になります。 Ctrl-D キー・シーケンスを押して、入力が終了したことを通知してください。cat >>notes Get milk on the way home Ctrl-D - キーボードから入力したテキストで複数のファイルを連結するには、次のように入力します。
このコマンドは、キーボードからのテキスト (負符号 (-) で表示) により、ファイル section3.1 とファイル section3.3 を連結し、その出力結果をcat section3.1 - section3.3 >section3section3というファイルに送信します。
ファイル
| 項目 | 説明 |
|---|---|
| /usr/bin/cat | cat コマンドが入っています。 |