wcコマンドとは、Linuxでファイルの行数、単語数、文字数、バイト数を数えるためのコマンドです。
Linuxでは、ログファイルの行数を確認したり、テキストファイルの文字数を確認したり、コマンドの実行結果が何行あるか数えたりする場面があります。
そのようなときに便利なのがwcコマンドです。
wcコマンドを使うと、ファイルの中に何行あるか、単語がいくつあるか、文字数やバイト数がどのくらいあるかを確認できます。
特に、ログ件数の確認、CSVファイルの行数確認、grepで検索した結果の件数確認などでよく使われます。
この記事では、Linux初心者向けにwcコマンドの意味、基本的な使い方、wc -l、wc -w、wc -m、wc -c、wc -L、複数ファイルの集計、cat・grep・findとの組み合わせ、よくあるエラーまでわかりやすく解説します。
- wcコマンドとは?
- wcコマンドの基本的な使い方
- wcコマンドの出力結果の見方
- wcコマンドを使う基本の流れ
- wcコマンドの実行例
- wc -lで行数を数える
- wc -lでCSVファイルの行数を確認する
- wc -wで単語数を数える
- wc -mで文字数を数える
- wc -cでバイト数を数える
- wc -mとwc -cの違い
- wc -Lで最も長い行の長さを確認する
- wcコマンドで複数ファイルを集計する
- wc -lで複数ファイルの行数を確認する
- wcでワイルドカードを使う
- catとwcを組み合わせる
- grepとwcを組み合わせて検索件数を数える
- tailとwcを組み合わせる
- findとwcを組み合わせてファイル数を数える
- lsとwcを組み合わせるときの注意点
- wcコマンドでよく使うオプション一覧
- wcコマンドとcatコマンドの違い
- wcコマンドとgrepコマンドの違い
- wcコマンドとduコマンドの違い
- wcコマンドでよくあるエラー・つまずき
- wcコマンドで確認できないときの確認ポイント
- wcコマンドを安全に使うコツ
- wcコマンドを使った練習手順
- wcコマンドを覚えると何ができるようになる?
- wcコマンドのよくある質問
- まとめ
wcコマンドとは?
wcコマンドとは、Linuxでファイルの行数、単語数、文字数、バイト数を数えるためのコマンドです。
wcは「word count」の略です。
日本語にすると、「単語を数える」という意味になります。
ただし、Linuxのwcコマンドで数えられるのは単語数だけではありません。
行数、単語数、文字数、バイト数、最長行の長さなども確認できます。
たとえば、sample.txtというファイルの情報を確認したい場合は、次のように実行します。
wc sample.txt
実行すると、環境によって次のような結果が表示されます。
3 12 45 sample.txt
この結果は、左から順に行数、単語数、バイト数、ファイル名を表します。
wcコマンドの基本的な使い方
wcコマンドの基本的な使い方は、次の通りです。
wc ファイル名
たとえば、memo.txtの行数や単語数などを確認する場合は、次のように実行します。
wc memo.txt
memo.txtに次のような内容が入っているとします。
Hello Linux
This is sample file.
Linux command lesson
wc memo.txtを実行すると、次のように表示されることがあります。
3 8 55 memo.txt
この表示は、左から行数、単語数、バイト数、ファイル名です。
初心者は、まず「wc ファイル名」でファイルの行数・単語数・サイズの目安を確認できる、と覚えるとわかりやすいです。
wcコマンドの出力結果の見方
wcコマンドをオプションなしで実行すると、基本的には次の順番で結果が表示されます。
| 位置 | 意味 |
|---|---|
| 1つ目 | 行数 |
| 2つ目 | 単語数 |
| 3つ目 | バイト数 |
| 4つ目 | ファイル名 |
たとえば、次の結果が表示されたとします。
10 25 180 sample.txt
これは、sample.txtが10行、25単語、180バイトであることを表します。
文字数を確認したい場合は、wc -mを使います。
バイト数を確認したい場合は、wc -cを使います。
wcコマンドを使う基本の流れ
Linux初心者は、wcコマンドを単体で覚えるよりも、cat、grep、tail、findとセットで覚えると理解しやすいです。
基本の流れは次の通りです。
pwd
ls -l
cat sample.txt
wc sample.txt
wc -l sample.txt
grep "error" sample.log | wc -l
まずpwdで現在いるディレクトリを確認します。
次にls -lで対象ファイルが存在するか確認します。
catでファイルの中身を確認します。
wcで行数や単語数などを確認します。
wc -lで行数だけを確認します。
grepとwc -lを組み合わせると、検索結果が何件あるかを数えられます。
この流れを覚えると、Linuxでファイルの量や検索結果の件数を確認しやすくなります。
wcコマンドの実行例
実際にwcコマンドを使う例を見てみましょう。
まず、練習用ファイルを作成します。
echo "Hello Linux" > sample.txt
echo "This is sample file" >> sample.txt
echo "Linux command lesson" >> sample.txt
sample.txtの中身を確認します。
cat sample.txt
実行結果は次の通りです。
Hello Linux
This is sample file
Linux command lesson
wcコマンドを実行します。
wc sample.txt
次のような結果が表示されます。
3 9 54 sample.txt
この例では、sample.txtに3行、9単語、54バイト程度の内容があることがわかります。
wc -lで行数を数える
wcコマンドで最もよく使うオプションのひとつが、wc -lです。
wc -lを使うと、ファイルの行数を表示できます。
wc -l sample.txt
sample.txtが3行の場合、次のように表示されます。
3 sample.txt
ログファイルの件数確認やCSVファイルの行数確認では、wc -lがよく使われます。
wc -lでCSVファイルの行数を確認する
wc -lは、CSVファイルの行数確認にも便利です。
たとえば、data.csvの行数を確認したい場合は、次のように実行します。
wc -l data.csv
次のように表示された場合、data.csvには101行あることがわかります。
101 data.csv
ただし、CSVファイルの1行目がヘッダーの場合、実際のデータ件数は1行少ない場合があります。
たとえば、101行のうち1行目がヘッダーなら、データ件数は100件です。
CSVの件数確認では、ヘッダー行があるかどうかも確認しましょう。
wc -wで単語数を数える
wc -wを使うと、ファイル内の単語数を表示できます。
wc -w sample.txt
sample.txtに9単語ある場合、次のように表示されます。
9 sample.txt
wはwordの意味です。
英語の文章や単語数を確認したい場合に使えます。
ただし、日本語の文章では、単語の区切りが英語とは違うため、期待通りの単語数にならないことがあります。
wc -mで文字数を数える
wc -mを使うと、ファイル内の文字数を表示できます。
wc -m sample.txt
mはcharacter countとして使われるオプションです。
日本語を含むファイルの文字数を確認したい場合は、wc -cよりもwc -mのほうが目的に合うことがあります。
ただし、改行も文字数として数えられる場合があります。
文字数を厳密に確認したい場合は、何を1文字として数えるか、改行を含めるかも意識しましょう。
wc -cでバイト数を数える
wc -cを使うと、ファイルのバイト数を表示できます。
wc -c sample.txt
cはbyte countの意味で使われます。
バイト数は、ファイルサイズに近い情報として確認できます。
英数字だけのファイルでは、文字数とバイト数が近く見えることがあります。
しかし、日本語のようなマルチバイト文字を含むファイルでは、1文字が複数バイトになるため、文字数とバイト数は一致しないことがあります。
wc -mとwc -cの違い
wc -mとwc -cは、初心者が混乱しやすいオプションです。
wc -mは文字数を表示します。
wc -cはバイト数を表示します。
| コマンド | 意味 | 注意点 |
|---|---|---|
| wc -m | 文字数を数える | 日本語の文字数確認に使いやすい |
| wc -c | バイト数を数える | ファイルサイズに近い情報を確認できる |
英数字だけのファイルでは似た結果になることもあります。
しかし、日本語を含むファイルでは結果が変わることがあります。
文字数を知りたいならwc -m、バイト数を知りたいならwc -cと覚えましょう。
wc -Lで最も長い行の長さを確認する
wc -Lを使うと、ファイル内で最も長い行の長さを確認できます。
wc -L sample.txt
たとえば、次のように表示されます。
22 sample.txt
これは、sample.txtの中で最も長い行の長さが22であることを表します。
ログファイルやCSVファイルで、1行が極端に長くないか確認したいときに使えることがあります。
wcコマンドで複数ファイルを集計する
wcコマンドでは、複数のファイルをまとめて指定できます。
たとえば、file1.txt、file2.txt、file3.txtをまとめて確認したい場合は、次のように実行します。
wc file1.txt file2.txt file3.txt
実行すると、各ファイルの行数、単語数、バイト数が表示され、最後に合計が表示されることがあります。
10 55 210 file1.txt
5 23 98 file2.txt
20 80 320 file3.txt
35 158 628 total
複数ファイルの合計行数を確認したい場合に便利です。
wc -lで複数ファイルの行数を確認する
複数ファイルの行数だけを確認したい場合は、wc -lを使います。
wc -l *.log
このコマンドでは、現在のディレクトリにある.logファイルの行数をまとめて確認できます。
最後にtotalが表示される場合、対象ファイル全体の合計行数も確認できます。
ログファイルが複数ある場合の件数確認に便利です。
wcでワイルドカードを使う
wcコマンドでは、ワイルドカードを使って複数ファイルを対象にできます。
たとえば、すべての.txtファイルの行数を確認したい場合は、次のように実行します。
wc -l *.txt
ただし、ワイルドカードは想定より多くのファイルに一致することがあります。
実行前にlsで対象を確認すると安全です。
ls *.txt
表示されたファイルが対象で問題ないことを確認してから、wcを実行しましょう。
catとwcを組み合わせる
wcは、catと組み合わせて使うこともあります。
cat sample.txt | wc -l
このコマンドでは、cat sample.txtの出力をwc -lに渡し、行数を数えます。
ただし、単純にファイルの行数を数えるだけなら、次のようにwc -lだけで書けます。
wc -l sample.txt
初心者は、まずwc -l ファイル名の形を覚えれば十分です。
パイプの考え方を学ぶ段階になったら、catや他のコマンドとの組み合わせを理解するとよいです。
grepとwcを組み合わせて検索件数を数える
wcコマンドは、grepと組み合わせると非常に便利です。
grepで検索した結果をwc -lに渡すことで、検索に一致した行数を数えられます。
grep "error" sample.log | wc -l
このコマンドでは、sample.logの中からerrorを含む行をgrepで取り出し、その行数をwc -lで数えます。
ログファイルの中にエラーが何件あるかを確認したい場合に便利です。
tailとwcを組み合わせる
tailとwcを組み合わせると、ファイルの末尾部分を対象にして行数や件数を確認できます。
たとえば、ログファイルの末尾100行の中にerrorが何件あるか確認したい場合は、次のように実行できます。
tail -n 100 sample.log | grep "error" | wc -l
このコマンドでは、まずtail -n 100でsample.logの末尾100行を取り出します。
次にgrepでerrorを含む行だけを抽出します。
最後にwc -lで件数を数えます。
ログ調査では、このように複数のコマンドを組み合わせる場面があります。
findとwcを組み合わせてファイル数を数える
findとwcを組み合わせると、条件に一致するファイル数を数えられます。
たとえば、現在のディレクトリ配下にある.logファイルの数を数えたい場合は、次のように実行できます。
find . -name "*.log" | wc -l
findで.logファイルを探し、その結果の行数をwc -lで数えています。
ファイル数の確認に便利な使い方です。
lsとwcを組み合わせるときの注意点
ファイル数を数えるために、次のようなコマンドを見ることがあります。
ls | wc -l
このコマンドは、lsの出力行数をwc -lで数えています。
簡単な確認には使えますが、ファイル名に改行が含まれる場合など、厳密なファイル数確認には向かないことがあります。
通常の学習や簡単な確認であれば理解しやすいですが、より正確に数えたい場合はfindを使う方法もあります。
find . -maxdepth 1 -type f | wc -l
wcコマンドでよく使うオプション一覧
wcコマンドで初心者が知っておきたい使い方をまとめると、次の通りです。
| コマンド | 意味 | 使う場面 |
|---|---|---|
| wc file.txt | 行数・単語数・バイト数を表示する | ファイルの概要を確認したいとき |
| wc -l file.txt | 行数を表示する | ログ件数やCSV行数を確認したいとき |
| wc -w file.txt | 単語数を表示する | 英語文章の単語数を確認したいとき |
| wc -m file.txt | 文字数を表示する | 文字数を確認したいとき |
| wc -c file.txt | バイト数を表示する | バイト単位のサイズを確認したいとき |
| wc -L file.txt | 最も長い行の長さを表示する | 長い行がないか確認したいとき |
| wc -l *.log | 複数ログの行数をまとめて表示する | 複数ファイルを集計したいとき |
| grep “error” file.log | wc -l | errorを含む行数を数える | 検索結果の件数を確認したいとき |
初心者は、まずwc、wc -l、wc -w、wc -m、wc -cを覚えるとよいです。
wcコマンドとcatコマンドの違い
wcコマンドとcatコマンドは、どちらもファイルを扱う基本コマンドです。
ただし、役割は違います。
| コマンド | 役割 | 例 |
|---|---|---|
| cat | ファイルの中身を表示する | cat sample.txt |
| wc | 行数・単語数・文字数などを数える | wc sample.txt |
ファイルの中身を見たい場合はcatを使います。
ファイルの行数や文字数を数えたい場合はwcを使います。
wcコマンドとgrepコマンドの違い
wcコマンドとgrepコマンドも、ログ確認でよく使われます。
grepは、指定した文字列を含む行を検索するコマンドです。
wcは、行数や単語数などを数えるコマンドです。
| コマンド | 役割 | 例 |
|---|---|---|
| grep | 条件に一致する行を探す | grep “error” sample.log |
| wc | 行数や単語数を数える | wc -l sample.log |
grepとwcを組み合わせると、条件に一致する行数を数えられます。
grep "error" sample.log | wc -l
wcコマンドとduコマンドの違い
wc -cでは、ファイルのバイト数を確認できます。
一方、duコマンドは、ファイルやディレクトリがディスク上で使用している容量を確認するためのコマンドです。
| コマンド | 確認できること |
|---|---|
| wc -c | ファイルのバイト数 |
| du | ディスク上の使用量 |
文字数や行数を数えたい場合はwcを使います。
ディスク容量を確認したい場合はduを使います。
wcコマンドでよくあるエラー・つまずき
wcコマンドを使っていると、エラーやつまずきが発生することがあります。
初心者がよく遭遇するポイントを確認しておきましょう。
No such file or directory
No such file or directoryは、「そのようなファイルやディレクトリはありません」という意味です。
存在しないファイルをwcで指定すると、次のようなエラーが表示されることがあります。
wc sample.txt
wc: sample.txt: No such file or directory
この場合、sample.txtが現在のディレクトリに存在しない可能性があります。
まずpwdで現在地を確認し、lsでファイルがあるか確認しましょう。
pwd
ls -l
Permission denied
Permission deniedは、「権限がありません」という意味です。
読み取り権限がないファイルをwcで指定すると、次のようなエラーが出ることがあります。
wc secret.txt
wc: secret.txt: Permission denied
この場合、現在のユーザーにそのファイルを読む権限がありません。
ls -lで権限を確認できます。
ls -l secret.txt
権限がないファイルを無理に確認しようとせず、必要な権限があるか確認しましょう。
日本語の文字数とバイト数が合わない
日本語を含むファイルでは、wc -mとwc -cの結果が異なることがあります。
wc -mは文字数を数えます。
wc -cはバイト数を数えます。
日本語は1文字が複数バイトになることがあるため、文字数とバイト数は一致しない場合があります。
文字数を見たい場合はwc -m、バイト数を見たい場合はwc -cを使いましょう。
行数が思ったより少ない・多い
wc -lは、基本的に改行の数をもとに行数を数えます。
そのため、ファイルの最後に改行があるかどうかで、期待と違う結果に見えることがあります。
CSVファイルでは、ヘッダー行を含めて数えているため、データ件数と行数が1つずれることもあります。
行数を確認するときは、ヘッダーの有無や最終行の改行も意識しましょう。
ディレクトリを指定してしまう
wcコマンドは、基本的にファイルや標準入力の内容を数えるコマンドです。
ディレクトリを指定すると、環境によってエラーになることがあります。
wc logs
logsがディレクトリの場合、中のファイルをまとめて数えたいなら、ワイルドカードやfindと組み合わせます。
wc -l logs/*.log
または、条件に合わせてfindを使います。
find logs -name "*.log" | wc -l
wcコマンドで確認できないときの確認ポイント
wcコマンドで確認できないときは、次のポイントを確認しましょう。
- 現在地をpwdで確認したか
- 対象ファイルが存在しているか
- ファイル名を間違えていないか
- 読み取り権限があるか
- 文字数を見たいのか、バイト数を見たいのか整理できているか
- CSVの行数確認でヘッダー行を含めていないか
- ワイルドカードの対象を事前にlsで確認したか
エラーが出たら、まず次のコマンドで現在地とファイルの状態を確認すると原因を探しやすくなります。
pwd
ls -la
wcコマンドを安全に使うコツ
wcコマンドは、基本的にはファイルの内容を数えて表示するだけのコマンドです。
そのため、wcで確認しただけでファイルの内容が変更されることはありません。
ログファイルやCSVファイルの件数確認に安全に使いやすいコマンドです。
初心者は、次の流れを習慣にすると安心です。
pwd
ls -l
wc ファイル名
wc -l ファイル名
まずpwdで現在地を確認します。
ls -lで対象ファイルが存在するか確認します。
wcで概要を確認します。
行数だけ見たい場合はwc -lを使います。
wcコマンドを使った練習手順
Linux初心者は、練習用ディレクトリでwcコマンドを試すと理解しやすくなります。
次の手順で練習してみましょう。
1. ホームディレクトリへ移動する
cd
2. 練習用ディレクトリを作成する
mkdir wc-practice
3. 練習用ディレクトリへ移動する
cd wc-practice
4. 練習用ファイルを作成する
echo "Hello Linux" > sample.txt
echo "This is sample file" >> sample.txt
echo "Linux command lesson" >> sample.txt
5. ファイル全体を確認する
cat sample.txt
6. wcで行数・単語数・バイト数を確認する
wc sample.txt
7. 行数だけ確認する
wc -l sample.txt
8. 単語数だけ確認する
wc -w sample.txt
9. 文字数だけ確認する
wc -m sample.txt
10. バイト数だけ確認する
wc -c sample.txt
この練習を行うと、wcの基本表示、行数、単語数、文字数、バイト数の違いをまとめて確認できます。
wcコマンドを覚えると何ができるようになる?
wcコマンドを覚えると、Linuxでファイルの行数や文字数、検索結果の件数を効率よく確認できるようになります。
具体的には、次のような作業に役立ちます。
- ログファイルの行数を確認する
- CSVファイルの件数を確認する
- テキストファイルの単語数を確認する
- 文字数とバイト数を確認する
- 複数ファイルの合計行数を確認する
- grepの検索結果が何件あるか数える
- findで探したファイル数を数える
- 最も長い行の長さを確認する
LinuxサーバーやVPSを扱う場合、ログ件数や検索結果の件数を確認する場面はよくあります。
wcコマンドを使えるようになると、ファイル確認やログ調査の効率が上がります。
wcコマンドのよくある質問
wcコマンドは何に使いますか?
wcコマンドは、Linuxでファイルの行数、単語数、文字数、バイト数などを数えるために使います。
ログファイルやCSVファイルの行数確認、検索結果の件数確認などに便利です。
wcコマンドは何の略ですか?
wcは「word count」の略です。
単語数を数えるという意味ですが、Linuxのwcコマンドでは行数やバイト数なども確認できます。
wcコマンドの基本形は何ですか?
基本形は次の通りです。
wc ファイル名
たとえば、sample.txtの行数や単語数を確認する場合は次のように実行します。
wc sample.txt
wcの出力結果は何を表していますか?
オプションなしのwcでは、基本的に左から行数、単語数、バイト数、ファイル名が表示されます。
3 9 54 sample.txt
この例では、3行、9単語、54バイトという意味です。
wc -lとは何ですか?
wc -lは、ファイルの行数を表示するオプションです。
wc -l sample.txt
ログ件数やCSVファイルの行数確認でよく使います。
wc -wとは何ですか?
wc -wは、ファイル内の単語数を表示するオプションです。
wc -w sample.txt
英語の文章の単語数確認などに使えます。
wc -mとは何ですか?
wc -mは、ファイル内の文字数を表示するオプションです。
wc -m sample.txt
文字数を確認したい場合に使います。
wc -cとは何ですか?
wc -cは、ファイルのバイト数を表示するオプションです。
wc -c sample.txt
ファイルサイズに近い情報を確認したい場合に使います。
wc -mとwc -cの違いは何ですか?
wc -mは文字数を数えます。
wc -cはバイト数を数えます。
日本語のようなマルチバイト文字を含むファイルでは、文字数とバイト数が一致しないことがあります。
wcでCSVのデータ件数を確認できますか?
はい、wc -lでCSVファイルの行数を確認できます。
wc -l data.csv
ただし、1行目がヘッダーの場合、実際のデータ件数は表示された行数から1を引いた数になる場合があります。
grepの検索結果の件数を数えるにはどうしますか?
grepとwc -lを組み合わせます。
grep "error" sample.log | wc -l
この例では、errorを含む行数を数えられます。
findで見つかったファイル数を数えるにはどうしますか?
findとwc -lを組み合わせます。
find . -name "*.log" | wc -l
この例では、現在のディレクトリ配下にある.logファイルの数を数えられます。
wcで確認できない原因は何ですか?
対象ファイルが存在しない、ファイル名を間違えている、読み取り権限がない、ディレクトリを指定している、文字数とバイト数を混同している、などが考えられます。
まずはpwdとls -laで現在地とファイルの状態を確認しましょう。
まとめ
wcコマンドとは、Linuxでファイルの行数、単語数、文字数、バイト数などを数えるための基本コマンドです。
基本的な使い方は、wcの後ろにファイル名を指定します。
wc sample.txt
オプションなしで実行すると、基本的に行数、単語数、バイト数、ファイル名が表示されます。
行数だけを確認したい場合は、wc -lを使います。
wc -l sample.txt
単語数を確認したい場合は、wc -wを使います。
wc -w sample.txt
文字数を確認したい場合は、wc -mを使います。
wc -m sample.txt
バイト数を確認したい場合は、wc -cを使います。
wc -c sample.txt
grepと組み合わせると、検索結果の件数を確認できます。
grep "error" sample.log | wc -l
findと組み合わせると、条件に一致するファイル数を数えられます。
find . -name "*.log" | wc -l
Linux初心者は、まずwc、wc -l、wc -w、wc -m、wc -cを覚え、ファイルの行数や文字数、検索結果の件数を確認する操作に慣れていきましょう。





コメント