2016-04-18 19 views
0

私はfindを使用するスクリプトを持っています。これまでのところ、私は-execを使ってうまくいきましたが、今は少しばかりのロードブロッキングに走っています。findコマンドが一度だけ実行された場合ファイルが一致する

ファイルが見つかった場合、私は(そう-exec {} \;は私が探しているものではありません)たら、コマンドを実行したい、それがパラメータとして任意のファイルを取らないコマンドですので、-exec {} \+ウォン」トンの仕事(あるいは少なくともそれは私のFreeBSDの10.1システム上findのバージョンではない。

これを行うについて行くための最良の方法は何?

答えて

1

あなたはxargsにパイプにファイル名を必要としています。

私は重要なヒントを逃したと思うh ere:あなたのコマンドはファイル名には興味がありません。したがって、ファイルが見つかった場合は、コマンドを実行したいだけですか? -quitはBSDやGNU find実装の両方に存在する、

find -name nosuchfile | if read; then echo "hello"; fi; 
0

-quit主が-execと組み合わせて使用​​することができます。その場合は、次のような何かを試みることができます。以下の例は、ユーティリティの終了ステータスに関係なく、最初の一致後にfindが確実に終了するように構成されています。

find path... [expression] \(-exec utility \; -quit -or -quit \) 
関連する問題