500,000個のファイルを含むディレクトリに何回のファイルとフォルダが繰り返しあるかを計算しようとしていますfind
(注:再帰的そして下に)。次のコマンドを使用しています。
find my_folder -name '*' -print | wc -l
しかし、最初の部分の実行中に奇妙な点が見つかりました。
find my_folder -name '*' -print
my_folder
常に最初の行にフォルダ名を最初に印刷します(この場合)。最初のコマンドでは、ファイル数が1ずつ増加します。
なぜそんなことですか?これを防ぎ、findに次の印刷のみを許可するにはどうすればよいですかmy_folder
?
答え1
探しているので、パターンが*
一致するので、ターゲットディレクトリと一致します。.
文書-type f
、ファイルのみを一致させるにはを追加する必要があります。
find my_folder -type f
その場合は、を使用して一致をブロックすることもできGNU find
ます。-mindepth 1
.
find my_folder -mindepth 1
答え2
実際にファイルだけが必要な場合は、コマンドラインで指定されたディレクトリだけを一致させません-type f
。-mindepth 1