8.4.3 catコマンド(ファイルの内容を標準出力に出力する)
形式
cat[-b][-n][-s][-u][パス名 ...]
機能
ファイルの内容を標準出力に出力します。ファイルが複数ある場合は,連結して出力します。
引数
- -b
空行以外のすべての行に番号を付けます。
- -n
すべての行に番号を付けます。最初の行を1とします。行番号は6桁で表示します。6桁で表示できない場合は順次,桁数を増やします。行番号の次には,タブを出力します。パス名が複数指定されている場合,パス名に指定されたファイルごとに行番号を付けて,連結して出力します。
- -s
連続した空行を1つにします。
- -u
UNIXの場合,出力時のバッファリングを抑止します。
Windowsの場合,指定が無視されます。
- パス名
連結して出力するファイルのパス名を指定します。パス名は複数指定できます。パス名を指定しない,またはパス名に「-」を指定した場合は,標準入力から入力します。
終了コード
終了コード |
意味 |
---|---|
0 |
正常終了 |
1以上 |
エラー終了 |
注意事項
改行コードが[LF]の場合だけ空行と見なします。[CR]+[LF]の行は空行と見なされないため,-bオプションおよび-sオプションは対象外になります。このため,Windowsの通常ファイルの場合は,空行を含まないことになります。
Windowsの場合,ファイルおよび標準入力,標準出力をバイナリモードで入出力します。改行コードは変換しません。
標準出力をファイルに出力する場合,パス名に指定したファイルと同じファイルを指定すると,次のメッセージを出力してエラーになります。
cat: ファイル名: input file is output file
使用例
この使用例では,次の内容が記述された「abc.txt」「abcdex.txt」を基に,catコマンドの実行結果を説明します。「△」はスペース,「→」はタブを表します。
abc.txt
aaaaaaaaaaa bbbbbbbb △△△△△△△ cccccccccccccccc → → → △△△△△△△△△△△ dddddddddddd
abcdex.txt
aaaaaaaaaaa △△△△△△ △△△△△△ △△△△△△ △△△△△△ △△△△△△ bbbbbbbb cccccccccccc dddddddddddd eeeeeeeeeeeeeeeee → → → →
catコマンドを実行した結果表示に使用する入力ファイルの形式を次に示します。
-bオプションを指定し,空行以外に行番号を付けます。
$ cat -b abc.txt 1→aaaaaaaaaaa 2→bbbbbbbb 3→△△△△△△△ 4→cccccccccccccccc 5→ → → → 6→△△△△△△△△△△△ 7→dddddddddddd
-nオプションを指定し,すべての行に行番号を付けます。
$ cat -n abc.txt 1→aaaaaaaaaaa 2→ 3→bbbbbbbb 4→ 5→ 6→cccccccccccccccc 7→ 8→ 9→ 10→ 11→dddddddddddd
-sオプションを指定し,連続した空行を1つの空行として表示します。
$ cat -s abcdex.txt aaaaaaaaaaa △△△△△△ △△△△△△ △△△△△△ △△△△△△ △△△△△△ bbbbbbbb cccccccccccc dddddddddddd eeeeeeeeeeeeeeeee → → → →
オプションエラーのメッセージを表示します。
このメッセージは,コマンドを実行するプラットフォームによって異なる場合があります。Windowsの例を次に示します。
C:\TEMP>%ADSH_OSCMD_DIR%\cat -w cat: illegal option -- w usage: cat [-bnsu] [file ...]
ファイルがない場合のエラーメッセージを表示します。
C:\TEMP>%ADSH_OSCMD_DIR%\cat file99 cat: file99: No such file or directory