
/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