Usare find con l'opzione -exec

From RVM Wiki
Jump to navigation Jump to search

Per eseguire direttamente un'operazione sui file trovati da find, si può usare l'opzione -exec, da usare nel formato seguente:

find opzioni -exec comando {} ';'

Il parametro {} viene sostituito con il nome del file trovato

E' necessario usare come ultimo argomento ';'

-exec esegue il comando indicato, utilizzando {} come nome dell'elemento trovato da find, fino a che trova un ;, che bisogna escapare dalla shell con \ o con le virgolette

Esempio: cancellare tutti i files nella directory e sottodirectory, senza cancellare le sottodirectory (pulire la queue di postfix):

find . -type f -exec echo rm  {} ';'

Oppure:

find . -name "rc.conf" -exec chmod o+r '{}' \;


  • Per eseguire più comandi, ripetere il -exec:
find . -type d \
     -print \
     -exec touch '{}/00test00' \; \
     -exec sleep 5 \; \
      -exec /bin/rm -f {}/00

test00 \;

Riferimenti