コード行数を数えたい場合は、最も簡単な方法は次のとおりです。
cat *.c *.h | wc -l
しかし、サブディレクトリが複数ある場合はどうなりますか?
答え1
答え2
答え3
コマンドは複数の引数を使用できるため、GNU 操作に引数を使用してwc
次のファイル名をすべて渡すことができます。wc
+
-exec
find
find . -type f -name '*.[ch]' -exec wc -l {} +
またはbash
、シェルオプションを使用してglobstar
ディレクトリを再帰的に移動できます。
shopt -s globstar
wc -l **/*.[ch]
他のシェルは、基本的に再帰的にナビゲートするか(例えば)、少なくともほとんどzsh
同様のオプションを持ちます。globstar
答え4
find
以下と組み合わせてxargs
使用できますwc
。
find . -type f -name '*.h' -o -name '*.c' | xargs wc -l