プログラムには、一致するものを見つけて、以前に指定したコマンド(例:)を実行するとすぐに終了するように指示するコマンドラインオプションがfind
あります。これはうまく機能しますが、複数のルートにあり、各ルートで最初の一致が必要な場合はどうすればよいですか?-quit
-print
find
こう言う方法はありますか?
find foo bar baz -print -continue-with-next-root
?一部のシェルコードは問題ありませんが、find
各ルートフォルダに対して別々の呼び出しを避けたいと思います。
答え1
弾丸を噛み、ルートfind
フォルダごとに別々の呼び出しを使用します。オーバーヘッドはわずかであり、とにかくそのようなオプションがないので、次のようにすることfind
もできます。
for dir in dir1 dir2 dir2 ... dirN; do
find ... -quit
done
私は本当にあなたがより良い解決策を見つけるとは思わない。