Existe-t-il un moyen idiomatique pour détecter si "trouver" a trouvé des correspondances? J'utilise actuellement
COUNT=`find ... | wc -l`
if [ "$COUNT" -gt 0 ]; then
mais cela me semble un peu indirect. De plus, j'aimerais que la recherche s'arrête une fois qu'elle a trouvé une correspondance, afin de ne pas perdre de temps et d'efforts. J'ai juste besoin de savoir s'il existe des fichiers qui correspondent.
Mise à jour: j'ai fait l'erreur d'écrire ma question sans le code devant moi: j'utilise wc -l
dans un cas différent, où j'ai besoin de connaître le nombre total de fichiers trouvés de toute façon. Dans le cas où je teste uniquement s'il y a des correspondances, j'utilisais if [ -z $(find …) ]
.
-n
que cela ne s'appliquait qu'aux variables "définies" ($ abc, $ xyz, etc.), mais je suppose que $ (...) est une variable temporaire "définie" .. +1 ... (et je viens lisez récemment que l'utilisation-n
est risquée, sauf si vous êtes sûr que la variable n'a pas déjà été déclarée et qu'elle est 'inutilisée) ... mais un temp n'aura pas cette possibilité ... ie. non initialisé vs vide