Cómo buscar y eliminar archivos por su nombre recurrentemente en GNU/Linux

Miguel Menéndez

Para buscar y eliminar archivos en GNU/Linux usamos habitualmente el comando find.

En el siguiente ejemplo buscaremos y eliminaremos en el directorio actual (.) y de forma recurrente en todos los subdirectorios todos los archivos (-type f) que contengan en su nombre (-name) el texto “sync-conflict” ('*sync-conflict*'):

$ find . -type f -name '*sync-conflict*' - exec rm "{}" +
  • "{}" será reemplazado por la salida de find
  • + considerará todos los archivos devueltos por find, ; únicamente considerará uno (¿el primero o el último devuelto por find?)

Se puede limitar la profundidad de la recurrencia de find con -maxdepth (find -maxdepth 2, por ejemplo).

Véase también

Comentarios

¿Has encontrado un error? ¿Crees que algo podría mejorarse? No dudes en comentármelo y estaré encantado de echarle un vistazo.