.\" Copyright (c) 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" the Institute of Electrical and Electronics Engineers, Inc. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)wc.1 8.2 (Berkeley) 4/19/94 .\" %FreeBSD: src/usr.bin/wc/wc.1,v 1.17.2.2 2005/02/26 13:44:05 brueffer Exp % .\" $FreeBSD$ .\" .Dd February 23, 2005 .Dt WC 1 .Os .Sh 名称 .Nm wc .Nd 行数、単語数、文字数、バイト数を数える .Sh 書式 .Nm .Op Fl clmw .Op Ar .Sh 解説 .Nm は各入力ファイル .Ar file または (ファイルが指定されなければ) 標準入力 に含まれる行数、単語数、バイト数を数えて標準出力に表示します。 行は .Aq 改行 文字で区切られた文字列と定義されます。 最後の .Aq 改行 文字より後の文字は、行数としては数えられません。 .Pp 単語は空白文字で区切られた文字列、と定義されます。 ここで空白文字とは .Xr iswspace 3 が真を返すような文字をいいます。 複数のファイルが指定された場合は、 最後に行数、単語数、バイト数の各項目別の合計も表示します。 .Pp オプションとしては以下のものがあります。 .Bl -tag -width Ds .It Fl c 各入力ファイルのバイト数を標準出力に表示します。 これより前に指定された .Fl w オプションの効果を打ち消します。 .It Fl l 各入力ファイルの行数を標準出力に表示します。 .It Fl m 各入力ファイルの文字数を標準出力に表示します。 現在のロケールがマルチバイト文字をサポートしない場合、 .Fl c オプションと等価です。 これより前に指定された .Fl c オプションの効果を打ち消します。 .It Fl w 各入力ファイルの単語数を標準出力に表示します。 .El .Pp オプションが指定された場合、 .Nm は要求された情報のみを表示します。 出力の形式は常に、 行数、単語数、バイト数、ファイル名の順になります。 デフォルトの動作は .Fl c , l , w のオプションが指定された場合と同じです。 .Pp .Ar file が指定されなかった場合は、標準入力から読み込まれ、 ファイル名は出力されません。 このプロンプトでは、EOF、またはほとんどの環境では .Bq ^D が来るまでの入力を受け入れます。 .Sh 環境変数 .Ev LANG , LC_ALL , LC_CTYPE の環境変数が、 .Xr environ 7 の記述通りに、 .Nm の実行に影響します。 .Sh 使用例 ファイル .Pa report1 と .Pa report2 のそれぞれの文字数、語数、行数を数え上げます。 また、両ファイルの合計も数え上げます。 .Pp .Dl "wc -mlw report1 report2" .Sh 診断 .Ex -std .Sh 関連項目 .Xr iswspace 3 .Sh 互換性 歴史的には、 .Nm では単語は「スペース、タブ、改行文字で区切られる最長の文字列」として 定義する、とドキュメントに記述されていました。 しかしこの実装は非表示文字を正しく扱いませんでした。 例えば .Dq Li foo^D^Ebar を 8 文字と数える一方、 .Dq Li " ^D^E " を 6 つの空白と数えたのでした。 .Bx 4.3 以降の .Bx 4 では ドキュメントと矛盾のないよう修正され、 .St -p1003.2 で要求されているように、 .Xr iswspace 3 を用いて「単語」を定義するよう実装し直されました。 .Sh 規格 .Nm は .St -p1003.1-2001 に適合しています。 .Sh 歴史 .Nm コマンドは .At v1 から登場しました。