GNU/Linux >> Linux Esercitazione >  >> Linux

Come verificare se il comando find non ha trovato nulla?

Conta il numero di righe di output e memorizzalo in una variabile, quindi verificalo:

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

Vuoi utilizzare find comando dentro una condizione if , puoi provare questa riga :

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

esempio di utilizzo :

 [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

L'uscita 0 è facile con find, l'uscita>0 è più difficile perché di solito accade solo con un errore. Comunque possiamo realizzarlo:

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

Linux
  1. Come utilizzare il comando Grep per trovare testo nei file

  2. Come controllare i permessi con il comando trova

  3. trova:comando non trovato

  4. echo:comando non trovato

  5. Come escludere una directory in find . comando

Come controllare la cronologia dei comandi di Linux in base alle date

Come utilizzare il comando echo negli script Bash in Linux

Come controllare la velocità di Internet in Linux

Come trovare l'indirizzo IP nella riga di comando di Linux

Come usare il comando echo senza Newline

Come controllare le porte aperte in Linux?