次のコマンドを使用します。
wc -l + `find . -name \* -print`
フォルダ内の全ファイルの総行数を取得できます。
しかし、いくつかのフォルダー (ライブラリーなど) があると想像してください。これらのフォルダーは、自分で作成したものではないため、行数を数えたくありません。
では、特定のフォルダーを除いて、プロジェクト内の行をどのように数えますか?
次のコマンドを使用します。
wc -l + `find . -name \* -print`
フォルダ内の全ファイルの総行数を取得できます。
しかし、いくつかのフォルダー (ライブラリーなど) があると想像してください。これらのフォルダーは、自分で作成したものではないため、行数を数えたくありません。
では、特定のフォルダーを除いて、プロジェクト内の行をどのように数えますか?
src-codeの行を数える必要があるときはいつでも、 clocは常に素晴らしい友達です。例として2.6.29Linuxカーネルを使用します。
$ cloc .
26667 text files.
26357 unique files.
2782 files ignored.
http://cloc.sourceforge.net v 1.50 T=168.0 s (140.9 files/s, 58995.0 lines/s)
--------------------------------------------------------------------------------
Language files blank comment code
--------------------------------------------------------------------------------
C 11435 1072207 1141803 5487594
C/C++ Header 10033 232559 368953 1256555
Assembly 1021 35605 41375 223098
make 1087 4802 5388 16542
Perl 25 1431 1648 7444
yacc 5 447 318 2962
Bourne Shell 50 464 1232 2922
C++ 1 205 58 1496
lex 5 222 246 1399
HTML 2 58 0 378
NAnt scripts 1 85 0 299
Python 3 62 77 277
Bourne Again Shell 4 55 22 265
Lisp 1 63 0 218
ASP 1 33 0 136
awk 2 14 7 98
sed 1 0 3 29
XSLT 1 0 1 7
--------------------------------------------------------------------------------
SUM: 23678 1348312 1561131 7001719
--------------------------------------------------------------------------------
を使用find
すると、一致条件を で「否定」することもできます!
。.java
たとえば、次を含むものを除いて、ディレクトリ内のすべてのファイルを一覧表示する場合Test
:
find . -name "*.java" ! -name "*Test*"
お役に立てれば!
編集:
ちなみに、-name
述語はファイル名のみをフィルタリングします。パスをフィルタリングする (ディレクトリをフィルタリングできるようにする) 場合は、次を使用します-path
。
find . -path "*.java" ! -path "*Test*"
正規表現を使用してファイルをリストすることで、いつでもそれらを除外できます。たとえば、
*.txt には txt ファイルのみが含まれます...