GNU/Linux >> Znalost Linux >  >> Linux

Jak zkontrolovat, zda příkaz find nic nenašel?

Spočítejte počet výstupních řádků a uložte jej do proměnné, poté otestujte:

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

Chcete použít najít příkaz uvnitř podmínka if , můžete zkusit tuto jednu vložku:

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

příklad použití:

 [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

Odchod 0 je snadný s hledáním, odchod>0 je těžší, protože k tomu obvykle dochází pouze s chybou. Můžeme to však provést:

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

Linux
  1. Jak najít aktivní připojení SSH v systému Linux

  2. Jak auditovat oprávnění pomocí příkazu find

  3. find:příkaz nenalezen

  1. Jak používat příkaz Grep k vyhledání textu v souborech

  2. Jak zkontrolovat, zda je systém Linux 32bitový nebo 64bitový

  3. Jak najít proces s maximálním počtem deskriptorů souborů?

  1. Jak integrovat příkaz MV po příkazu Najít?

  2. echo:příkaz nenalezen

  3. Jak vyloučit adresář v find . příkaz