GNU/Linux >> Tutoriels Linux >  >> Linux

Comment vérifier si la commande find n'a rien trouvé?

Comptez le nombre de lignes en sortie et stockez-le dans une variable, puis testez-le :

lines=$(find ... | wc -l)
if [ $lines -eq 0 ]; then
...
fi

Vous souhaitez utiliser rechercher commande à l'intérieur une condition si , vous pouvez essayer celui-ci :

 [[ ! -z `find 'YOUR_DIR/' -name 'something'` ]] && echo "found" || echo "not found"

exemple d'utilisation :

 [prompt] $ mkdir -p Dir/dir1 Dir/dir2/ Dir/dir3                 
 [prompt] $ ls Dir/
 dir1  dir2  dir3
 [prompt] $ [[ ! -z `find 'Dir/' -name 'something'` ]] && echo "found" || echo "not found"
 not found
 [prompt] $ touch Dir/dir3/something
 [prompt] $ [[ ! -z `find 'Dir/' -name 'something'` ]] && echo "found" || echo "not found"
 found

La sortie 0 est facile avec find, la sortie> 0 est plus difficile car cela ne se produit généralement qu'avec une erreur. Cependant, nous pouvons y arriver :

if find -type f -exec false {} +
then
  echo 'nothing found'
else
  echo 'something found'
fi

Linux
  1. Comment trouver des connexions SSH actives sous Linux

  2. Comment utiliser la commande Grep pour rechercher du texte dans des fichiers

  3. Comment vérifier si un système Linux est 32 bits ou 64 bits

  4. Comment intégrer la commande Mv après la commande Find ?

  5. Comment trouver le processus avec un maximum de descripteurs de fichiers ?

Comment vérifier l'historique des commandes Linux par dates

Comment utiliser la commande echo dans les scripts Bash sous Linux

Comment vérifier la vitesse d'Internet sous Linux

Comment trouver une adresse IP dans la ligne de commande Linux

Comment utiliser la commande echo sans retour à la ligne

Comment vérifier les ports ouverts sous Linux ?