EN JA
WC(1)
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]が来るまでの入力を受け入れます。

環境変数

LANG, LC_ALL, LC_CTYPE の環境変数が、 environ(7) の記述通りに、 wc の実行に影響します。

終了ステータス

The wc utility exits 0 on success, and >0 if an error occurs.

使用例

ファイル report1report2 のそれぞれの文字数、語数、行数を数え上げます。また、両ファイルの合計も数え上げます。

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