Cómo borrar archivos de un sólo tipo y de forma recursiva

Nos encontramos ante la siguiente situación: tenemos en una ruta determinada, formada por varias carpetas, un tipo de fichero que queremos borrar conservando el resto.

La solución si hablamos de dos carpetas y tres ficheros es hacerlo a mano, si tenéis más carpeta o más ficheros, debéis usar la solución que abajo os propongo y que hace uso de las bondades de la terminal.

Si no estáis seguros de lo que vais a hacer lo mejor es que pida confirmación entre borrado y borrado.

Veamos un ejemplo: queremos borrar todos los ficheros PDF que existen en nuestro directorio actual y en todos sus hijos:

find . -type f -name "*.pdf" -exec rm -i {} \;

Si estáis muy seguros, podéis quitar la confirmación. Otro ejemplko, esta vez borrando ficheros jpg de una ruta en concreto (y todos sus hijos):

find /home/usuario/imagenes -type f -name "*.jpg" -exec rm -f {} \;

Seguro que alguna vez tendréis que usar algo así. Si tenéis dudas, preguntad en los comentarios.