WC(1) | FreeBSD General Commands Manual | WC(1) |
名称
wc — 行数、単語数、文字数、バイト数を数える書式
wc | [ -Lclmw][ file ...] |
解説
wc は、各入力ファイル file または (ファイルが指定されなければ) 標準入力に含まれる行数、単語数、バイト数を数えて標準出力に表示します。行は、<改行>文字で区切られた文字列と定義されます。最後の<改行>文字より後の文字は、行数としては数えられません。単語は、空白文字で区切られた文字列、と定義されます。ここで空白文字とは、 iswspace(3) が真を返すような文字をいいます。複数のファイルが指定された場合は、最後に行数、単語数、バイト数の各項目別の合計も表示します。
次のオプションが利用可能です:
- -L
- 最も長い入力行の文字数が、標準出力に書き込まれます。 2 つ以上の file 引数が指定されるとき、 すべて のファイルの最も長い入力行が、最終的な“total” (合計) の値として報告されます。
- -c
- 各入力ファイルのバイト数を標準出力に表示します。これより前に指定された -m オプションの効果を打ち消します。
- -l
- 各入力ファイルの行数を標準出力に表示します。
- -m
- 各入力ファイルの文字数を標準出力に表示します。現在のロケールがマルチバイト文字をサポートしない場合、 -c オプションと等価です。これより前に指定された -c オプションの効果を打ち消します。
- -w
- 各入力ファイルの単語数を標準出力に表示します。
オプションが指定された場合、 wc は、要求された情報のみを表示します。出力の形式は、常に、行数、単語数、バイト数、ファイル名の順になります。デフォルトの動作は、 -c, -l, -w オプションが指定された場合と同じです。
ファイルが指定されなかった場合は、標準入力から読み込まれ、ファイル名は、出力されません。このプロンプトでは、EOF、またはほとんどの環境では、[^D]が来るまでの入力を受け入れます。
終了ステータス
The wc utility exits 0 on success, and >0 if an error occurs.使用例
ファイル report1 と report2 のそれぞれの文字数、語数、行数を数え上げます。また、両ファイルの合計も数え上げます。
wc -mlw report1 report2
ファイルのリスト中で最も長い行を見つけるためには、次のように行います:
wc -L file1 file2 file3 | fgrep total
互換性
歴史的には、 wc では単語は、“<スペース>、<タブ>または <改行文字>で区切られる最長の文字列”として定義する、とドキュメントに記述されていました。しかしこの実装は、非表示文字を正しく扱いませんでした。例えば“foo^D^Ebar
”を 8 文字と数える一方、“
^D^E
”を 6 つの空白と数えたのでした。
4.3BSD 以降の
4BSD では、ドキュメントと矛盾のないよう修正され、 IEEE Std 1003.2 (“POSIX.2”) で要求されているように、
iswspace(3) を用いて“単語”を定義するよう実装し直されました。
-L オプションは、GNU wc ユーティリティの -L オプションと互換性のある、標準でない FreeBSD 拡張です。
関連項目
iswspace(3)規格
wc は、 IEEE Std 1003.1-2001 (“POSIX.1”) に適合しています。歴史
wc コマンドは、 Version 1 AT&T UNIX で登場しました。December 6, 2008 | FreeBSD |