wc はファイルの行数・単語数・バイト数を数えるコマンドです。ログの行数の数え方、`grep` の結果を数える書き方、ファイル名を出さずに数字だけ取り出す方法を、ブラウザ上のターミナルで打ちながら確認できます。
最終更新: 2026-09-06
wc [オプション] ファイル...
何も付けなければ、行数・単語数・バイト数の3つをこの順で出します。
$ wc logs/app.log
10 28 200 logs/app.log
左から、行数 10・単語数 28・バイト数 200 です。
| オプション | 数えるもの |
|---|---|
-l | 行数 |
-w | 単語数 |
-c | バイト数 |
実務で使うのはほとんど -l です。
$ wc -l logs/app.log
10 logs/app.log
単語やバイトだけを見たいときも同じ形です。
$ wc -w notes.txt
9 notes.txt
$ wc -c notes.txt
41 notes.txt
ファイルを並べると、最後に合計が出ます。
$ wc -l users.csv notes.txt
4 users.csv
3 notes.txt
7 total
*.csv のような書き方もそのまま渡せます。
$ wc -l *.csv
4 users.csv
wc の本領は、ほかのコマンドの結果を数えるときに出ます。
$ grep ERROR logs/app.log | wc -l
3
grep が拾った行が3つある、という意味です。
ファイルの数を数えるなら ls をつなぎます。
$ ls | wc -l
4
ファイル名を渡すと、結果にファイル名が付きます。
< で中身を流し込むと、wc はファイル名を知らないので数字だけになります。
$ wc -l < logs/app.log
10
スクリプトの中で件数を変数に入れたいときは、この形が使いやすいです。
wc は、多いか少ないかを一目で決めたいときに打つコマンドです。
| 場面 | 打ち方 |
|---|---|
| エラーが何件出ているか数える | grep ERROR app.log | wc -l |
| ログが何行あるか見てから開く | wc -l app.log |
| ディレクトリの中のファイル数を数える | ls logs | wc -l |
| 条件に合うファイルの数を数える | find . -name "*.js" | wc -l |
| 数字だけを取り出す | wc -l < app.log |
数えるだけなら grep -c のほうが短いです。
$ grep -c ERROR logs/app.log
3
grep ... | wc -l と同じ結果になります。
grep の結果を目でも確かめたいときはパイプ、数だけ欲しいときは -c を使い分けてください。
-c はバイト数で、文字数ではありません。
日本語のように1文字が複数バイトになる文字が入っていると、見た目の文字数とは合いません。
ディレクトリは数えられません。
$ wc -l logs
wc: logs: Is a directory
中にあるファイルの数を知りたいのなら、ls logs | wc -l です。
ファイルが無いときは、そう言われます。
$ wc -l nope.txt
wc: nope.txt: No such file or directorywebterm.appこのサイト
ターミナル応用
特定場面で役立つコマンドを学ぶ
learn.webterm.app別のサイト
