Linuxコマンド一覧

wcコマンド|行数・単語数・バイト数を数える

__ __ _ _____
\ \ / /__| |_|_ _|__ _ __ _ __ ___
\ \ /\ / / _ \ '_ \| |/ _ \ '__| '_ ` _ \
\ V V / __/ |_) | | __/ | | | | | |
\_/\_/ \___|_.__/|_|\___|_| |_| |_| |_
 
wc を試すためのサンドボックスです。実機のファイルには影響しません。
user@webterm:~/project$
 

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 directory

手を動かして覚える

webterm.appこのサイト

learn.webterm.app別のサイト

>_WEBTERM LEARN

WebTerm Learn|1つのコマンドから、使える状態へ

コマンドは単体で覚えるより、実際の作業の流れの中で使うほうが身につきます。順番に積み上げていくコースがあります。

コースを見る

関連するコマンド

grep / sort / cat / find

よくある質問

wc は何の略ですか?
word count です。ただし実務でいちばん使うのは単語数ではなく `-l` の行数で、ログの件数やファイルの数を数えるのに使います。
3つ並ぶ数字は何を表していますか?
左から行数・単語数・バイト数です。`-l` `-w` `-c` を付けると、そのうち1つだけを出せます。
ファイル名を出さずに数字だけ欲しいときはどうしますか?
`wc -l < file` のように `<` で渡します。ファイル名を渡すと結果にファイル名が付きますが、標準入力から渡すと数字だけになります。
grep の結果を数えるにはどう書きますか?
`grep ERROR app.log | wc -l` と書けます。`grep -c ERROR app.log` でも同じ数が出るので、数えるだけならそちらのほうが短く済みます。
ディレクトリを渡すとどうなりますか?
`wc: logs: Is a directory` になります。ディレクトリの中のファイル数を数えたいときは、`ls logs | wc -l` のようにパイプでつなぎます。