コマンドリファレンス - 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
|
|