findが現在のディレクトリで検索する必要があるのはなぜですか?

findが現在のディレクトリで検索する必要があるのはなぜですか?

/var/www/scripts/process_sounds.sh次のコマンドを使用するbashスクリプトがあります。

find /var/www/unprocessed_sounds/ * -type f

unprocessed_soundsディレクトリ内のすべてのファイルを見つける必要がありますが、スクリプトディレクトリ内のすべてのファイルも検索します(その後、そのファイルをサウンドファイルのように処理しますが、これは私が望むものではありません)。

find現在のディレクトリにあるアイテムを返すのはなぜですか?

答え1

コマンドを間違った方法で作成しました。ディレクトリからファイルを検索するには、/var/www/unprocessed_sounds/次のように作成する必要があります。

find /var/www/unprocessed_sounds/ -type f

これにより、現在のディレクトリ内のすべてのディレクトリを意味するファイルがfind /var/www/unprocessed_sounds/ * -type f検索されます。/var/www/unprocessed_sounds/*

答え2

コマンドにスペースがあります

find /var/www/unprocessed_sounds/ * -type f

find/var/www/unprocessed_sounds/その中のすべてのファイルを探してアスタリスクを削除したいと説明しています./* (とにかくfindはディレクトリの奥深くに入るからです)。

答え3

/var/www/unprocessed_sounds/ ディレクトリ内のファイルのみを処理する場合は、そこで * を使用する必要はありません。

以下を試してください。

find /var/www/unprocessed_sounds/ -type f

関連情報