Con find y grep podemos obtener un listado de todos los archivos que contengan el argumento en el nombre de archivo.
Si necesitamos buscar un archivo en un directorio específico, podemos usar la función find de Linux para recorrer todos los directorios de forma recursiva y con un pipe sobre grep filtrar los que tengan en su nombre de archivo la palabra argumento en el comando grep.
El siguiente ejemplo, ejecuta el comando find . -print |grep -i autocommand
para encontrar todos los archivos que contengan la palabra autocommand.
urodoz@archdesk:~/vimrc|master ⇒ find . -print |grep -i autocommand ./config/autocommands_python.vimrc ./config/autocommands_bash.vimrc ./config/autocommands_css.vimrc ./config/autocommands_javascript.vimrc ./config/autocommands_html.vimrc ./config/autocommands_regexfix.vimrc ./config/autocommands.vimrc ./config/autocommands_php.vimrc
Como función dentro de nuestro Bash
Podemos añadir el comando como función dentro de nuestro archivo local ~/.bashrc para poder acceder de forma rápida a la ejecución con: ff.
# ... bash contents function ff() { find . -print |grep -i "$@" } # ... bash contents
Una vez añadida la función a nuestro terminal, podremos realizar la búsqueda anterior tan sólo con:
urodoz@archdesk:~/vimrc|master ⇒ ff autocommand ./config/autocommands_python.vimrc ./config/autocommands_bash.vimrc ./config/autocommands_css.vimrc ./config/autocommands_javascript.vimrc ./config/autocommands_html.vimrc ./config/autocommands_regexfix.vimrc ./config/autocommands.vimrc ./config/autocommands_php.vimrc
Encuentra cualquier cosa con find: Artículo más detallado sobre diferentes opciones en el comando find
Gist: Gist con el contenido del comando definido como función Bash