[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
wc
: 行数、単語数、バイト数を表示するwc
は、指定された各 file に含まれる、バイト数、文字数、ホワイトスペース
(訳注: 空白、タブ、改行など) で区切られた単語数、改行数を算出する。
file が指定されなかった場合や、file として ‘-’
が指定された場合は、標準入力を対象とする。
書式:
wc [option]… [file]… |
wc
は各ファイルにつき、一行の算出結果を出力する。
引数としてファイルが指定されていれば、そのファイル名を数値の後ろに表示する。
複数の file が指定されている場合は、最後の行で合計を表示し、
ファイル名の列に、「合計 (‘total’)」と書き込む。表示される数値の順番は、
改行数、単語数、文字数、バイト数、最長行の長さになる。
各数値は、フィールドに右詰めで表示され、フィールド間には、少なくとも一個の空白が置かれる。
そうすることで、複数の数字とファイル名が、たいていの場合きちんと整列するようになっているのだ。
数値の入るフィールドの幅は、入力に応じて変化するので、
一定のフィールド幅を当てにするべきではない。ただし、GNU の拡張として、
表示される数値がただ 1 個だけの場合は、その数値の頭に空白を入れないことになっている。
デフォルトでは、wc
は 3 個の数値を表示する。
すなわち、改行数、単語数、バイト数である。
オプションによって、特定の数値のみを表示するように指定することもできる。
どんなオプションも、それ以前に指定されたオプションを取り消すことはない。従って、
wc --bytes --words |
上記のコマンドは、バイト数と単語数の両方を表示することになる。
‘--max-line-length’ を指定すると、wc
はファイルごとの最長行の長さを表示する。さらに、複数のファイルが存在する場合は、
(各最長行の合計ではなく) 最長行中の最長のものを表示する。ここで言う行の長さは、
画面に表示される桁数のことである。表示桁数の計算は現在のロケールに従って行われ、
タブ位置は 8 桁ごとに来るものとされる。
このプログラムでは以下のオプションが使用できる。参照: 共通オプション.
バイト数のみを表示する。
文字数のみを表示する。
単語数のみを表示する。
改行数のみを表示する。
最長表示行の長さのみを表示する。タブ位置は 8 桁ごとにあるものとする。 ワイド・キャラクタについては、表示される幅を考慮する。非表示文字の幅は 0 とする。
コマンドラインで名前を指定されたファイルの処理を行わない。その代わりに、
ファイル file に名前が書き込まれているファイルの処理を行う。
なお、file 中に書かれている各ファイル名は、ゼロバイト (ASCII NUL)
で終端されていなければならない。このオプションは、ファイル名のリストが長すぎて、
コマンドライン長の上限を超過してしまいそうなときに、
便利である。そうした場合、wc
を
xargs
経由で実行するのは、望ましくない。
なぜなら、xargs
はファイルのリストをいくつかの部分に分割して
wc
に渡すので、wc
はリスト全体の合計ではなく、
部分リストごとの合計を表示してしまうからである。
ASCII NUL で終端されたファイル名のリストを得る方法の一つは、
GNU find
に ‘-print0’ を付けて使うことである。
file に ‘-’ を指定すれば、
ASCII NUL で終端されたファイル名を標準入力から読み込むことができる。
たとえば、カレント・ディレクトリ以下にある、すべての ‘.c’ ファイルや ‘.h’ ファイルの内で、最長の行の長さを知るには、次のようにする。
find . -name '*.[ch]' -print0 | wc -L --files0-from=- | tail -n1 |
終了ステータス 0 は成功を示し、0 以外の値は失敗を示す。
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This document was generated on June 7, 2022 using texi2html 1.82.