Específicamente sobre git (gitignore, gitattributes y comandos que toman nombres de archivo):si el patrón no contiene barra inclinada, *
los comodines coincidirán profundamente. Si contiene una barra inclinada, git llamará a fnmatch con el FNM_PATHNAME
y los comodines simples no coincidirán con las barras. **
no se admite la coincidencia profunda. Tal vez este tipo de coincidencia profunda podría ser más compatible con un nuevo FNM_STARSTAR
bandera, y una implementación en glibc, gnulib y otros lugares.
Si desea actuar sobre todos los archivos devueltos por find, en lugar de solo enumerarlos, puede canalizarlos a xargs:
find <directory> -type f | xargs ls
Pero esto es solo para comandos que no tienen una bandera recursiva.
En Bash 4, con shopt -s globstar
y zsh puedes usar **/*
que incluirá todo excepto los archivos ocultos. Puedes hacer shopt -s dotglob
en Bash 4 o setopt dotglob
en zsh para que se incluyan archivos ocultos.
En ksh, set -o globstar
lo permite. No creo que haya una forma de incluir archivos de puntos implícitamente, pero creo que **/{.[^.],}*
funciona.