wc コマンド
目次
概要
wc - ファイルの行数・単語数・文字数をカウントするコマンドライン
wc [OPTION]... [FILE]... wc [OPTION]... --files0-from=F
対象バージョン
- RHEL 10 : GNU wc 9.5
- Ubuntu 24.04 : GNU wc 9.4
説明
ファイルの行数、単語数、文字数をカウントします。デフォルトでは行数、単語数、文字数(バイト単位)が表示されます。
$ wc fileA.txt 3 9 50 fileA.txt
-l
, -w
, -c
, -m
, -L
オプションはそれぞれ、行数(lines)、単語数(words)、文字数(バイト単位)(characters)、文字数(文字単位)(multibyte-characters)、最長行の文字数(Length) を意味します。
$ wc -l fileA.txt # 行数を表示 3 fileA.txt $ wc -lc fileA.txt # 行数と文字数(バイト単位)を表示 3 50 fileA.txt $ wc -m fileA.txt # 日本語を考慮した文字数を表示 46 fileA.txt
複数ファイルを対象とする場合や --total=always
オプションを指定した場合は、最後にトータル数を表示します。
$ wc *.txt 3 9 50 fileA.txt 3 9 50 fileB.txt 6 18 100 total
オプション
カウント項目
- -l, --lines
- 行数を表示します。正確には改行文字(LF)の個数を表示します。最終行に改行が無い場合はカウントしません。
- -w, --words
- 単語数を表示します。単語は空白文字(SPC)、改行文字(LF)、タブ文字(TAB)などで区切られます。
- -c, --bytes
- 文字数(バイト単位)を表示します。
- -m, --chars
- 文字数(文字単位)を表示します。日本語も1文字として数えます。通常は UTF-8 で処理しますが、うまくロケールやエンコードを処理できない場合はバイト数でカウントします。
- -L, --max-line-length
- 最長行の文字数を表示します。改行はカウントしません。タブ文字(TAB)は8の倍数になるように調整されます。1文字の日本語「あ」などはバイト数であれば UTF-8 で 3文字、文字数であれば1文字とカウントしそうですが、何故か2文字としてカウントしているようです。
トータル表示
- --total=WHEN
- トータルカウント情報の表示を制御します。
WHEN
には下記のいずれかを指定します。- auto : 単数ファイルの場合は表示しない、複数ファイルの場合は表示します。デフォルト動作です。
- always : 単数ファイルの場合も複数ファイルの場合も表示します。
- never : 単数ファイルの場合も複数ファイルの場合も表示しません。
ヘルプ表示
- --help
- ヘルプを表示して終了します。
- --version
- バージョン情報を表示して終了します。
その他
- --files0-from=FILE
- カウント対象ファイルのリストをヌル文字(NUL)で区切られたファイル
FILE
から読み込みます。FILE
に-
を指定した場合は標準入力から読み込みます。find の-print0
オプションと組み合わせることにより、改行を含むファイルがあっても堅牢に対象ファイルを処理することができます。$ find ./src -name "*.py" -print0 | wc --files0-from=-
関連項目
Copyright (C) 2025 杜甫々
初版:2025年8月3日 最終更新:2025年8月3日
https://www.tohoho-web.com/linux/cmd/wc.html