Excluir carpetas en búsquedas con find en Linux
Hola amigas, en el artículo de hoy vamos a seguir trabajando con la consola de comandos, en éste caso, hablaremos de nuevo del comando find. Una herramienta esencial para el día en día en GNU Linux, para buscar ficheros y directorios. Será bastante cortito. Veremos cómo realizar búsquedas excluyendo de estas los directorios que nos interesen.
Excluir carpetas en búsquedas con find en GNU Linux
En el pasado hemos hablando de cómo utilizar find, tanto para buscar los últimos ficheros modificados en el sistema cómo para, en combinación con tar, realizar copias de seguridad, incluso cómo borrar copias de seguridad antiguas.
Para poder excluir los directorios que nos interesen, estoy pensando en el directorio /proc o /dev/, si por ejemplo realizamos búsquedas desde la raíz, debemos utilizar los parámetros «-prune -o» y «path«, por ejemplo:
find -path ./proc -prune -o -name "*.png" -print
Un ejemplo de su uso:
david@envy / $ sudo find -path ./proc -prune -o -name "*.png" -print
[sudo] password for david:
./usr/lib/thunderbird/chrome/icons/default/default256.png
./usr/lib/thunderbird/chrome/icons/default/default16.png
./usr/lib/thunderbird/chrome/icons/default/default48.png
./usr/lib/thunderbird/chrome/icons/default/default24.png
./usr/lib/thunderbird/chrome/icons/default/default22.png
./usr/lib/thunderbird/chrome/icons/default/default32.png
Otra forma, desde mi punto de vista más fácil que de recordar, es utilizando «-not», de la siguiente manera:
sudo find -name "*-png" -not -path "./proc/"
El resultado:
david@envy / $ sudo find -name "*-png" -not -path "./proc"
./usr/lib/gimp/2.0/plug-ins/file-png
./usr/share/doc/iso-flag-png
./usr/share/iso-flag-png
En fin, aquí lo dejamos. Espero que os sea útil en algún momento, nos leemos pronto ^.^
Fuente consultada | Stackoverflow.com