Linux – Usando el comando find para ejecutar comandos sobre ficheros encontrados

El comando find nos puede servir para ahorrarnos mucho tiempo ya que nos permite encontrar ficheros que cumplan un determinado patrón y ademas actuar sobre ellos.

El ejemplo típico del uso del comando find es encontrar uno o varios ficheros que cumplan unas determinadas características:

find . -name *.jpg

Nos encuentra a partir del directorio actual los ficheros con extensión .jpg

Si ahora quisiéramos listar (con ls -l)  todos esos ficheros encontrados, teclearíamos lo siguiente:

find . -name *.jpg -exec ls -l {} ;

La explicación es la siguiente: Primero “find . -name *.jpg” encuentra los ficheros que

queremos y luego se los pasa al comando “ls -l” a través de la opción -exec. La opcion -exec, ejecuta el comando este después de ella, sustituyendo las llaves {} por la ruta del fichero encontrado.

Ejemplo:

 

-rwxr-xr-x  1 elsotani elsotani 244905 Feb 14 05:38 ./public_html/Fotos/s4200114.jpg

-rwxr-xr-x  1 elsotani elsotani 248482 Feb 14 05:38 ./public_html/Fotos/s4200115.jpg

    Otra opción interesante que nos da el comando find es permitir la ejecución opcional de un comando sobre un fichero. Esta opción es -ok y se pone en lugar del -exec. Con esta opción, el comando find nos preguntara antes si queremos ejecutar el comando que viene después del -ok. Ejemplo:

 

find . -name *.jpg -ok ls -l {} ;

< ls ... ./public_html/Webs/Fotos/s4200001.jpg > ? n
< ls ... ./public_html/Webs/Fotos/s4200002.jpg > ? y
-rwxr-xr-x  1 elsotani elsotani 241551 Feb 14 05:36 ./public_html/Fotos/s4200002.jpg
< ls ... ./public_html/Webs/Fotos/s4200003.jpg > ?

 Existen muchas mas utilidades que le podemos dar al comando find:

  1. Borrar ficheros de logs
  2. vaciar ficheros de logs de mas de un determinado tamaño o de una determinada antigüedad.
  3. Borrar ficheros temporales
  4. etc.

Share

Leave a Reply

Your email address will not be published.

Ver más

  • Responsable: Juan Sierra Pons.
  • Finalidad:  Moderar los comentarios.
  • Legitimación:  Por consentimiento del interesado.
  • Destinatarios y encargados de tratamiento:  No se ceden o comunican datos a terceros para prestar este servicio. El Titular ha contratado los servicios de alojamiento web a ovh que actúa como encargado de tratamiento.
  • Derechos: Acceder, rectificar y suprimir los datos.
  • Información Adicional: Puede consultar la información detallada en la Política de Privacidad.

 

This site uses Akismet to reduce spam. Learn how your comment data is processed.