はじめに
こんにちは!今回はwcコマンドについて解説します。
wcはファイルの行数・単語数・文字数をカウントするコマンドです。ログファイルのサイズを確認したり、テキストデータの統計情報を調べたり、毎日使う超基本的なコマンドですね。
「ファイルの大きさを数える」って感じです。便利で使用頻度は高いですよ。
wcコマンドとは
wcは、ファイルの行数・単語数・文字数(バイト数)を表示する外部コマンドです。“word count"の略ですね。
行数、単語数、バイト数などを一度に表示できます。複数ファイルに対応しており、合計も自動的に計算されます。パイプで標準入力から読み込むこともでき、他のコマンドとの組み合わせで非常に強力です。
基本構文
|
|
ファイルの行数・単語数・文字数をカウント。デフォルトでは「行数 単語数 文字数 ファイル名」の順に表示されます。
主なオプション
| オプション | 説明 |
|---|---|
-l |
行数のみ表示(lines) |
-w |
単語数のみ表示(words) |
-c |
バイト数のみ表示(bytes) |
-m |
文字数のみ表示(chars) |
-L |
最長行の長さを表示 |
--files0-from FILE |
ファイルリストをNUL区切りで読み込む |
使用例
例1: 基本的な使い方(全てカウント)
|
|
実行結果:
|
|
行数: 41、単語数: 102、文字数: 2342。デフォルトで全て表示されます。
例2: 行数のみ表示
|
|
実行結果:
|
|
ファイルの行数が41行であることが分かります。最も使用頻度の高いオプション。
例3: 単語数のみ表示
|
|
実行結果:
|
|
ファイルに含まれる単語数が156です。テキスト分析に便利。
例4: バイト数のみ表示
|
|
実行結果:
|
|
ファイルのバイト数(容量)が1024バイト。ファイルサイズの確認に使用。
例5: 文字数のみ表示(-m)
|
|
実行結果:
|
|
-cはバイト数、-mは文字数。日本語を含む場合は-mの方が正確。
例6: 複数ファイルをカウント
|
|
実行結果:
|
|
複数ファイルをカウント。合計(total)も自動計算されます。
例7: ディレクトリ内の全ファイルをカウント
|
|
実行結果:
|
|
ワイルドカードで複数ファイル。合計が一目瞭然。
例8: パイプで標準入力からカウント
|
|
実行結果:
|
|
パイプで受け取ったテキストの行数をカウント。ファイル名は表示されません。
例9: grepの結果をカウント
|
|
実行結果:
|
|
「error」を含む行が12行。ログファイルのエラー件数を素早く確認できます。
例10: 最長行の長さを表示
|
|
実行結果:
|
|
最も長い行が78文字。テキストフォーマットの確認に便利。
例11: 複数ファイルの最長行を表示
|
|
実行結果:
|
|
複数ファイル中で最も長い行を確認。
例12: lsの出力をカウント
|
|
実行結果:
|
|
ディレクトリ内のファイル・ディレクトリ数。ファイル名ヘッダ行も含まれます。
Tips・注意点
行数のみが必要な場合は-lを使う
|
|
必要な情報だけを取得すれば、出力がシンプルで読みやすい。
grepとの組み合わせでマッチ行数をカウント
|
|
テキスト検索と組み合わせると非常に強力。
単語と単語数の定義
|
|
wc -wでの「単語」はスペースやタブで区切られた要素です。
バイト数と文字数の違い
|
|
日本語などのマルチバイト文字を扱う場合は-mの方が正確。
実践的な使い方
ログファイルの統計情報を取得
|
|
複数のログファイル情報を一度に確認。合計サイズがわかります。
gitコミットで変更行数を確認
|
|
前のコミットから追加された行数をカウント。レビューの目安に。
Webサーバーのアクセス数をカウント
|
|
アクセスログの行数 = アクセス数。リアルタイムアクセス把握に便利。
スクリプトの規模を調べる
|
|
シェルスクリプトやプログラムの規模を把握。保守性の目安に。
テキストファイルの比較
|
|
2つのテキストファイルの行数を比較。データセットのサイズ確認。
まとめ
wcコマンドのポイント:
- ファイルの行数・単語数・文字数をカウント
- -l: 行数のみ(最頻出)
- -w: 単語数
- -c: バイト数
- -m: 文字数(日本語対応)
- -L: 最長行の長さ
- 複数ファイル対応(合計も表示)
- 標準入力(パイプ)対応
- よく使う組み合わせ:
wc -l,grep | wc -l,wc -l *
テキストの統計情報取得は日々の運用の基本。grepと組み合わせるとパワフルですよ!