コマンドリファレンス - wc 行・単語・文字・バイト数を数える

 クラウディア
1. wc 行・単語・文字・バイト数を数える
2.  ソースとオブジェクトの数を数える
3.  特定のファイルのステップ数を数える

1. wc 行・単語・文字・バイト数を数える

 ファイルの行数・単語数・文字数・バイト数を数えます。

wc [オプション] [ファイル名 ...]
 オプションは、下記になります。
オプション   意味  
-c バイト数を数えます。
-l 行数を数えます。
-m 文字数を数えます。
-w 単語数を数えます。

 ファイル名を省略した場合は、標準入力の内容を数えます。
 オプションを省略した場合は、行数・単語数・バイト数を表示します。
 下記の内容のテキストファイルに対して


a
b c
 「wc」コマンドをかけると、下記の結果が得られます。

       2       3       6 ファイル名
 3つ目の数字は、末尾の改行コードも数えているわけです。

2. ソースとオブジェクトの数を数える

 例えば、開発環境でソースの数とオブジェクトの数がそろっているか数えるとき・・・。  以下のようにします。

$ ls -l *.c | wc -l
166
$ ls -l *.o | wc -l
166
 「ls」で「-l」オプションを使用すると1ファイルにつき1行ずつ出力されますので、結果としてファイル数が分かるわけです。  再帰的に見るならば「find」と組み合わせればいい。

$ find ./ -name "*.c" -print | wc -l
6736
$ find ./ -name "*.o" -print | wc -l
6768
 あり、これはオブジェクトの方が多いようです(笑)。  あるディレクトリ以下の、ファイル数を数える場合、ディレクトリは削除するとして、そこは「find」のオプションを使います。

find /パス -type f | wc -l
 「type」のオプションを「d」にしちゃえば、ディレクトリの数を数えるわけです。

3. 特定のファイルのステップ数を数える

 これは、わたしが実際にやったもの。  あるパス配下の「.php」ファイルの行数を数えたかったのです。

find /パス -name "*.php" | xargs wc -l
ハイスピードプラン