「検索」が一致するものを見つけたかどうかをどのように検出しますか?

「検索」が一致するものを見つけたかどうかをどのように検出しますか?

「find」が一致するものを見つけたかどうかを検出する慣用的な方法はありますか?私は現在使用しています

COUNT=`find ... | wc -l`
if [ "$COUNT" -gt 0 ]; then

しかし、これは私にとって少し間接的なようです。また、findが一致するものを見つけたら、検索を中断して時間と労力を無駄にしないようにしたいと思います。一致するファイルがあるかどうかを知りたいです。

修正する:私はコードなしで質問を書く間違いを犯しました。私はwc -lそれを別の状況で使用し、とにかく見つかったファイルの総数を知る必要があります。一致するものがあるかどうかをテストする場合はif [ -z $(find …) ]

ベストアンサー1

GNU検索があることがわかっている場合は、次のようにします。-quit 最初のゲームが終わったら停止します。

出力findを。head -n 1findhead

wcどちらも文字列が空であることをテストする必要はなく、シェルはそれ自体をテストできます。

if [ -n "$(find … | head -n 1)" ]; then …

おすすめ記事