Expresión regular
Para usar una expresión regular, también puede intentarlo find-lisp-find-dired
. Este comando pertenece a la lib estándar. find-lisp , que está completamente escrito en elisp, es decir, no necesita tener instalado un find
programa externo
.
Por ejemplo, a continuación se muestran todos los archivos con la extensión '.el' en el directorio ~ / lisp:
M-x find-lisp-find-dired RET ~/lisp RET \.el\' RET
(El partido honra case-fold-search
).
Comodín
Vale la pena señalar que desde la próxima versión de Emacs (v26.1), Dired admite wilcards en la parte del directorio del argumento del nombre del archivo. Eso significa los siguientes trabajos:
C-x d ~/soft/*/*.c RET
(La coincidencia distingue entre mayúsculas y minúsculas).
Este comando muestra en un búfer Dired todos los archivos con la extensión '.c', 2 niveles de profundidad en '~ / soft' . Eso significa que todos los archivos como
'~ / soft / foo / bar.c' aparecerán en la lista, pero no los archivos como '~ / soft / qux.c'
ni '~ / soft / foo / baz / qux.c' .
Lo mismo pero sin distinción entre mayúsculas y minúsculas:
C-x d ~/soft/*/*.[cC] RET
Prima
Si está ejecutando Dired con un 'ls' implementado en elisp, 'ls-lisp' o 'eshell-ls', puede enumerar recursivamente todos los archivos que coinciden con un comodín con la siguiente sintaxis:
C-x d ~/soft/**/*.c RET
Nota la '**'. En este caso, se muestran todos los archivos bajo '~ / soft' que coinciden con el comodín, incluso '~ / soft / qux.c' .
Sin embargo, cuando está utilizando insert-directory-program
la comodín, la expansión se realiza mediante el shell del sistema; eso significa que esta sintaxis recursiva '**' solo funciona si es compatible con su shell. Por ejemplo, zsh lo admite, pero bash no. Con shells que no sean zsh, el comando anterior hará lo mismo que:
C-x d ~/soft/*/*.c RET