すべてのサブディレクトリに対して何かを実行したい場合は、次のいずれかを実行する必要があることを何度も読みました。
find . -name '*' -exec command arguments {} \;
find . -type f -print0 | xargs -0 command arguments
find . -type f | xargs -I {} command arguments {} arguments
問題は、コア関数ではうまく機能しますが、コマンドがユーザー定義関数またはスクリプトの場合は期待どおりに機能しないことです。修正方法は?
したがって、私が探しているのは、 or を置き換えることができるコード行またはスクリプトでありcommand
、myfunction
現在myscript.sh
のディレクトリからすべてのサブディレクトリに移動し、指定した引数を使用してそのような関数またはスクリプトを実行します。
別の言い方をすれば、現在のディレクトリだけでなく、すべてのサブディレクトリでも機能するようにしたいと考えていfor file in *; do command_myfunction_or_script.sh arguments $file; done
ます。