cat (UNIX)
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2025/07/07 07:07 UTC 版)
![]() |
この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。(2025年7月)
|
cat(キャット)はUNIXの標準コマンドであり、ファイルを連結させたり表示したりするのに用いる。 catは連結することを意味する「concatenate」の略である。
仕様
Single UNIX Specificationでは、 catは引数で指定されたファイルの内容を指定された順番に標準出力に書き出すと規定している。 ファイル名のリストに「 -」が含まれていた場合、 catはリストのその時点で標準入力からデータを読み込む。ファイル名が指定されなかった場合も catは標準入力から読み込む。
拡張
BSD版の catとGNU版の catはどちらも次のオプションを指定できる。
- -b(GNUでは --number-nonblankとも):空白でない行の数を数え、行番号を付加する。
- -n(GNUでは --numberとも):すべての行の数を数え、行番号を付加する。
- -s(GNUでは --squeeze-blankとも):隣接する空白行を除く。
- -v(GNUでは --show-nonprintingとも):表示できない文字も表示する。ただしタブと改行文字を除く。
- -t(BSD)または -T(GNU): -vと同じだが、タブを ^Iと表示する。
- -e(BSD)または -E(GNU): -vと同じだが、改行文字を $と表示する。
実例
コマンド | コマンドの説明 |
---|---|
$ cat file1 |
file1の内容を表示する |
$ cat file1 file2 |
file1およびfile2の内容を連結し、端末上にその結果を表示する |
$ cat file1 file2 > file3 |
file1およびfile2の内容を連結し、ファイルfile3にその結果を出力する |
$ cat > newfile |
新規ファイルnewfileを作成もしくは上書きして、入力したい内容を打ち込み、CTRL+Dコマンドで終了する。入力された内容は新規ファイルに書き込まれる。 |
$ cat -n file1 file2 > file3 |
file1およびfile2の内容を連結し、ファイルfile3にその結果を行番号とともに出力する |
$ cat file1 > file2 |
file1の内容をfile2にコピーする |
$ cat file1 >> file2 |
file1の内容をfile2に追加する |
$ cat file1 file2 file3 | sort > test4 |
file1およびfile2およびfile3の内容を連結し、連結された行を頭文字の順に並べ替え、その内容を新規ファイルに書き出す。 |
$ cat file1 file2 | less |
file1およびfile2の内容を連結し、lessコマンドを実行する |
UNIXの文化
ジャーゴンファイルでの定義
ジャーゴンファイルのバージョン4.3.3には、 catの定義として次のように記されている[1]。
- ファイル全体をスクリーンまたは流し台か何かにとめどなく吐き出すこと(類: blast)。
- 転じて、膨大なデータを注意深く目を通すこともせずに準備ができていない目標に向かって吐き捨てること。使用例:馬鹿げている。UNIX以外の場所で使われることは稀である。参照: dd、BLT。
UNIXファンの間では、 cat(1)はユーザインターフェースデザインのよい手本とされている。 catはファイルの内容に空白やヘッダのような余分なものを一切付加せずに提供してくれるためであり、またテキストファイルのみならずどんな種類のデータに対しても正しく動作するためだ。
UNIX嫌いの間では、 cat(1)は悪いユーザインターフェースデザインの正統な手本とされている。それはこの悲しいまでにわかりづらい名称のためである。 catは、ファイルの連結(concatenate)に使うよりもむしろ標準出力への出力に使われることの方がはるかに多い。後者の使用法に対する catという名称は、ちょうどLISPの cdrのように非直感的である。
cat
コマンドとUUOC
UUOCは「無駄なcat
の使用(Useless Use of cat
)」の略である。 Usenetのcomp.unix.shellに投稿された賢者の観察によると,
。 にもかかわらず、次のような使用をよく見かける。 cat
の役割はファイルを連結することである。もしファイルが1つしかないのであれば、何かと連結しようとするのは時間と手間の無駄でしかない
$ cat file | somecmd 引数……
代わりに次のように書けば簡単である。
$ <ファイル somecmd 引数……
次も同じであるが、より古典的な方法である。
$ somecmd 引数…… <ファイル
1995年からUUOCの授賞が、主にRandal L. Schwartzによって時々行われている。イギリスのハッカーたちの間では、UUOCに挙げられた例を修正することはmoggyが猫(cat)を表すことからdemoggificationと呼ばれる。
関連項目
外部リンク
「cat (UNIX)」の例文・使い方・用例・文例
- 30 数年間、最も多くの人に定期講読されているライフスタイル雑誌のSophistication は、9・10 月号に載せる投稿を募集しています。
- 詳細は、Sophistication のウェブサイト、www.sophistication-magazine.comをご覧ください。
- 「資格商法」とは文字通りには「qualification selling method」という意味であり、根拠のない資格や学位を法外な値段で売る詐欺的ビジネスである。
- 《主に米国で用いられる》 初等教育 (《主に英国で用いられる》 primary education).
- (英国の)運輸省. the Ministry of Education(, Science and Culture) (日本の)文部省.
- 《主に英国で用いられる》 初等教育 (《主に米国で用いられる》 elementary education).
- 、軟口蓋に触れる、あるいはに近い舌の後ろで発音される(『cat』の『k』と、『gun』の『g』と『sing』の『ng』のように)
- hat(帽子)とcat(猫)の韻
- 論理数量詞、副詞、前置詞、および、接続詞は、syncategoremesと呼ばれる
- 教育の最新の潮流や実践例を紹介する展示会「New Education Expo 2010」(教育博2010)が9月22日から24日まで東京で開催された。
- cat (UNIX)のページへのリンク