を使用して、すべてのサブディレクトリ内のすべてのファイルのすべての行をカウントするにはどうすればよいwc
ですか?
cd mydir
wc -l *
..
11723 total
man wc
提案wc -l --files0-from=-
しますが、すべてのファイルのリストを次のように生成する方法がわかりませんNUL-terminated names
find . -print | wc -l --files0-from=-
動作しませんでした。
を使用して、すべてのサブディレクトリ内のすべてのファイルのすべての行をカウントするにはどうすればよいwc
ですか?
cd mydir
wc -l *
..
11723 total
man wc
提案wc -l --files0-from=-
しますが、すべてのファイルのリストを次のように生成する方法がわかりませんNUL-terminated names
find . -print | wc -l --files0-from=-
動作しませんでした。
おそらくこれが必要です:
find . -type f -print0 | wc -l --files0-from=-
行の総数のみが必要な場合は、次を使用できます
find . -type f -exec cat {} + | wc -l
exec
のオプションを探しているのかもしれませんfind
。
find . -type f -exec wc -l {} \; | awk '{total += $1} END {print total}'
特定のファイル拡張子のすべての行をカウントするには、使用できます。
find . -name '*.fileextension' | xargs wc -l
2つ以上の異なるタイプのファイルでそれが必要な場合は、-oオプションを付けることができます
find . -name '*.fileextension1' -o -name '*.fileextension2' | xargs wc -l
私は次のようなものを提案します
find ./ -type f | xargs wc -l | cut -c 1-8 | awk '{total += $1} END {print total}'
ここでのゲームには少し遅れていますが、これもうまくいきませんか?find . -type f | wc -l
これは、「find」コマンドによって出力されたすべての行をカウントします。「検索」を微調整して、必要なものを表示できます。私はそれを使用して、深いツリーの特定のサブディレクトリ内のサブディレクトリの数を数えています: find ./*/*/*/*/*/*/TOC -type d | wc -l
. 出力: 76435
. (すべてのアスタリスクを介さずに検索を実行すると、エラーが発生しました。)