Para una máquina como su macbook, no encontrará mucha diferencia en el rendimiento entre los dos comandos. Sin embargo, si observa la versión -exec, puede ver una sutil diferencia:
sudo find / -iname ".file-to-delete" -exec rm {} \;
Esto significa que encontrará todos esos archivos con el nombre ".file-to-delete". Sin embargo, esta búsqueda podría devolver algunos falsos positivos no deseados. Al hacer algo con sudo debes ser un poco más cuidadoso. La ventaja de usar -exec rm {} es que puede pasar argumentos a rm como este:
sudo find / -iname "*~" -exec rm -i {} \;
En este ejemplo, quiero eliminar los archivos de respaldo que emacs crea. Sin embargo, esa tilde podría estar en algún archivo oscuro que no conozco y podría ser importante. Además, quiero confirmar la eliminación. Así que puse la opción '-i' en el comando rm. Esto me dará una eliminación interactiva.
También puede refinar el uso de rm para eliminar directorios y archivos:
find /usr/local/share/ -iname "useless" -exec rm -r {} \;
En resumen, -exec le da un poco más de control sobre el comando real que elimina el elemento encontrado. La ventaja es que utiliza una herramienta para encontrar los archivos, otra herramienta para eliminarlos. Además, no todas las versiones de la utilidad find tienen la opción -delete. Por lo tanto, es mejor usar cada herramienta para su trabajo adecuado. Esta es la filosofía de Unix: una herramienta, un trabajo, úselos juntos para hacer lo que necesita hacer.
-delete
interruptor antes-name
elimina el árbol de archivos especificado, así que supongo que tengo que tener cuidado.