Volevo eliminare i file superiori a 2 MB in una cartella specifica. Quindi ho corso:
find . -size +2M
E ho un elenco di due file
./a/b/c/file1
./a/f/g/file2
Quindi corro:
find . -size +2M -exec rm ;
e ricevo il messaggio di errore Find: missing argument to -exec
Controllo la sintassi nella pagina man e dice -exec command ;
Quindi invece ci provo
find . -size +2M -exec rm {} +
E funziona Capisco che {} lo faccia eseguire il comando come rm file1 file2
invece di rm file1; rm file2;
.
Allora perché il primo non ha funzionato?
RISPOSTA:
Immagino che ho dovuto RTFM un paio di volte per capire finalmente cosa stava dicendo. Anche se il primo esempio non mostra {}, le parentesi graffe sono richieste in tutti i casi. E poi aggiungi \; o + a seconda del metodo desiderato. Non limitarti a leggere la rubrica. Leggi anche la descrizione. Fatto.