wc コマンドは、テキストデータの行数・単語数・文字数・バイト数をカウントするLinuxの標準ユーティリティです。
ログ解析、スクリプト組み込み、出力集計など、意外と活躍の機会が多いコマンドです。
📌 他のLinuxコマンドもまとめて確認したい方へ
ファイル操作・検索・テキスト処理など用途別に整理した総合まとめはこちら。
▶ Linuxコマンド総まとめ
目次
wcコマンドとは
wc は「word count(ワードカウント)」の略で、ファイルや標準入力のテキストデータを対象に、次の統計情報を返します。
- 行数(lines)
- 単語数(words)
- 文字数 / バイト数(characters / bytes)
ログファイルの規模把握や、シェルスクリプトで条件分岐する際にもよく使われます。
基本構文
1) ファイルの統計を表示
wc ファイル名
2) 標準入力をパイプで受ける
echo "Hello World" | wc

主要オプション一覧
| オプション | 意味 |
|---|---|
-l | 行数だけを表示 |
-w | 単語数だけを表示 |
-c | バイト数だけを表示 |
-m | 文字数だけを表示(マルチバイト対応) |
-L | 最長行の長さ |
※ ファイルが複数の場合は各ファイルと合計値が表示されます。
実務でよく使う例
1) 行数だけ知りたい
wc -l access.log
アクセスログの行数を調べるのに便利です。
2) 複数ファイルの集計
wc -l *.log
ディレクトリ内の全ログの合計行数を把握できます。
3) 標準入力で受けて集計
cat access.log | grep ERROR | wc -l
「ERROR」だけをカウントする典型パターンです。
4) 文字数のチェック
wc -m message.txt
文字数を見たい場合に利用します(マルチバイト対応)。
他コマンドと組み合わせる使い方
grep と組み合わせて特定パターンだけを数える
grep "timeout" server.log | wc -l
cut と一緒に列だけ抜き出して数える
cut -d',' -f2 users.csv | wc -w


FAQ(よくある質問)
Q1. wc の出力は何が順番で出る?
デフォルトでは 「行数 単語数 バイト数 ファイル名」 の順番で表示されます。
Q2. -c と -m で違いは?-c はバイト数(バイト単位)、-m は文字数(マルチバイト文字も考慮)です。UTF-8 の環境では違いが出ることがあります。
Q3. wc だけで合計値だけほしい
複数ファイルを指定した時、最終行に合計値が出ます(例:wc -l *.log の最後の行)。
便利な応用・注意点
最長行を見たい(フォーマットチェック)
wc -L anyfile.txt
最長行の長さを返すため、設定ファイルの異常行の検出に役立ちます。
マルチバイト文字の文字数だけを数える
wc -m unicode.txt
UTF-8 や他コードの文字数を正しく数えたい時は -m を推奨します。
まとめ:
wc コマンドは単純そうでありながら、ログ行数の集計、特定パターンのカウント、ファイル規模の把握などで日々便利に使えます。 シェルパイプと組み合わせることで、様々な集計・条件カウントに対応できます。

