Per una macchina come il tuo macbook non troverai molte differenze nelle prestazioni tra i due comandi. Tuttavia, se guardi la versione -exec puoi vedere una sottile differenza:
sudo find / -iname ".file-to-delete" -exec rm {} \;
Ciò significa che troverai tutti quei file con il nome ".file-to-delete". Tuttavia, questa ricerca potrebbe restituire alcuni falsi positivi indesiderati. Quando fai qualcosa con sudo dovresti stare un po 'più attento. Il vantaggio di usare -exec rm {} è che puoi passare argomenti a rm in questo modo:
sudo find / -iname "*~" -exec rm -i {} \;
In questo esempio, desidero rimuovere i file di backup creati da Emacs. Tuttavia, quella tilde potrebbe essere in un file oscuro che non conosco e potrebbe essere importante. Inoltre voglio confermare l'eliminazione. Quindi ho messo l'opzione '-i' sul comando rm. Questo mi darà una cancellazione interattiva.
Inoltre è possibile perfezionare l'utilizzo di rm per eliminare directory e file:
find /usr/local/share/ -iname "useless" -exec rm -r {} \;
In breve, -exec ti dà un po 'più di controllo sul comando effettivo che rimuove l'elemento trovato. Il vantaggio è che usi uno strumento per trovare i file, un altro strumento per rimuoverli. Inoltre, non tutte le versioni dell'utilità find hanno l'opzione -delete. Quindi è meglio usare ogni strumento per il suo corretto lavoro. Questa è la filosofia unix: uno strumento, un lavoro, usali insieme per fare ciò che devi fare.
-delete
dell'opzione prima-name
elimina l'albero dei file specificato, quindi credo di dover fare attenzione.