Probablemente puedes recordar este problema: Tenías algún tipo de fichero y no podías recordar donde lo pusiste.
Aquí es donde el comando find viene a ser útil. ¿Cómo usarlo? find viene, por supuesto, con un extenso man page pero veamos unos “casos típicos”: Buscar un archivo llamado lostfile.txt, recorriendo el árbol de directorios comenzando en el directorio actual:
find . -name lostfile.txt -print
find acepta también wildcards. Recuerda colocar entre comillas los wildcards, de lo contrario el shell no los reconocerá como tales. Aquí un ejemplo:
find . -name "lost*" -print
Este comando puede ser un poco lento cuando necesites buscar en un árbol de directorios muy grande. Aquí el comando locate puede ayudar. Este realmente no busca directamente un archivo en el sistema de ficheros. Busca en una base de datos. Es bastante más rápido pero la base de datos podría estar desactualizada, pero puedes, por supuesto, correr el comando updatedb manualmente de vez en cuando para actualizarla. locate realiza búsquedas de subcadenas.
locate lostfile
Este localiza los ficheros lostfile.txt o mylostfile.txt, etc…
Algunas veces te gustaría encontrar todos los ficheros en el árbol de directorios que no contengan cierta cadena. Por ejemplo todos los ficheros excepto .o y .c. Aquí están un par de posibilidades para hacerlo::
find . ! -name "*.o" ! -name "*.c" -print find . -print | fgrep -v '.o' | fgrep -v '.c'
Hay muchas utilidades de búsqueda disponibles para Unix. Por lo tanto este artículo no puede estar completo.
