Buscar con find y excluir archivos (por su extensión) de los resultados

Yo como muchos saben uso KDE, no obstante aunque me encanta la comodidad y el confort que KDE me brinda (por ser extremadamente completo), no uso ni remotamente todas las opciones que trae, inclusive ni algunas básicas.

Cuando cualquiera de ustedes desea buscar en X carpeta todos los archivos .jpg o simplemente los que en su nombre contengan “boda”, usan el buscador del sistema, pues yo no :)

No es que yo sea más geek, nerd o freak que otros, yo simplemente uso find (en terminal obvio) pues lo encuentro increíblemente más productivo, me es más simple para mí buscar con find en una terminal que tenga abierta (usando Yakuake) que tener que abrir el buscador del sistema.

Pues bien, hace no mucho quise buscar todos los archivos cuyo nombre contenga “collection“, pero yo NO quería ver los archivos .gif, ¿cómo lograr algo así? … ¿cómo decirle a find que no me muestre los .gif aún cuando su nombre contenga “collection”?

Lo primero que se me ocurrió es algo tan simple como:

find $HOME -iname *collection* | grep -v .gif

 Esto buscaría con find todos los archivos que tengan “collection” en su nombre, pero usando grep me aseguraba que en la terminal solo se me muestre lo DIFERENTE a “.gif” y… sí, funciona de maravillas :D

Pero en realidad no hace falta usar dos comandos (find + grep) para lograr esto, con find solo nos es suficiente:

find $HOME -iname *collection* -not \( -iname "*\.gif" \)

Y listo… pero acá no acaba el post :)

¿Y si queremos borrar esos archivos que se mostraron?

Para ello solo debemos agregar el parámetro -delete en la línea, o sea:

find $HOME -iname *collection* -not \( -iname "*\.gif" \) -delete

¿Y si queremos solamente cambiar los permisos a 755?

Para ello usaremos el -exec de find:

find $HOME -iname *collection* -not \( -iname "*\.gif" \) -exec chmod 755 {} \;

Y listo :)
Nada, que espero les resulte de interés…


KZKG^Gaara

KZKG^Gaara: Usuario de GNU/Linux y administrador de red desde hace algunos años. Intento mantenerme en el lado oscuro de la fuerza, pues es donde está lo divertido de la vida. Administrador y Fundador de todo esto que ven, pero uno más dentro de la familia.


31 comentarios en “Buscar con find y excluir archivos (por su extensión) de los resultados

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Current ye@r *

  1. Probando nueva funcionalidad de reconocimiento de Entorno de Escritorio.
    Prueba No.1

    1/30
  2. Probando user agent…

    6/30
  3. que clase de brujeria es esa!!!!! jajaja mentiras esperrando el articulo del user agent… por cierto no se si soy yo o este ariculo siento que ya se vio o son ilusiones mias

    9/30
  4. Vaya pues interesante, aunque aún no me acostumbro a usar find y expresiones regulares, lo mio se limita a usar locate xD.

    13/30
    • El aspecto negativo de locate es que no funciona en tiempo real, o sea, si recién acabo de copiar algo al ordenador locate aún no indexa esos archivos nuevos, además… find permite más cosas como usar el -exec :)

      14/30
      • con el comando -exec eso iba a comentar yo, es muy útil para reorganizar música/series por ejemplo.
        Yo lo uso para mover las series del torrent, ya que crea varias carpetas y dentro los archivos descargados

        24/30
      • Nada que un simple # updatedb no pueda solucionar….sigue siendo mas facil y más rápido usar l# updatedb && locate

        Saludos

        28/30
      • O sea, tendría que ejecutar updatedb para que actualice los índices, esperar a que termine y entonces hacer la búsqueda? …
        No digo que sea una forma errónea ni mucho menos, pero antes de ir por ese camino personalmente prefiero usar simplemente find y listo.

        29/30
  5. probando el juguete nuevo :)

    15/30
  6. no veo el entorno de escritorio

    16/30
  7. está algún ícono para cinammon

    17/30
  8. Probando…

    19/30
  9. Está bien conocer los parámetros de find pero con grep hay que escribir menos ¿No?

    21/30
  10. Find es nuestro amigo :)

    25/30
  11. prueba a ver que sale

    27/30
  12. Le echaré un vistazo, gracias.

    30/30

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Current ye@r *