コマンドリファレンス - wc 行・単語・文字・バイト数を数える
1. wc 行・単語・文字・バイト数を数える ファイルの行数・単語数・文字数・バイト数を数えます。 wc [オプション] [ファイル名 ...] オプションは、下記になります。
wc [オプション] [ファイル名 ...]
ファイル名を省略した場合は、標準入力の内容を数えます。 オプションを省略した場合は、行数・単語数・バイト数を表示します。 下記の内容のテキストファイルに対して 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
a b c
2 3 6 ファイル名
$ ls -l *.c | wc -l 166 $ ls -l *.o | wc -l 166
$ find ./ -name "*.c" -print | wc -l 6736 $ find ./ -name "*.o" -print | wc -l 6768
find /パス -type f | wc -l
find /パス -name "*.php" | xargs wc -l