Como posso pesquisar um nome de curinga em todas as subpastas?

19

Como posso pesquisar um nome de curinga em todas as subpastas? Qual seria o equivalente do comando DOS: dir *pattern* /s in * nix?

    
por Eduard Florinescu 11.09.2012 / 18:08

2 respostas

29

Você pode usar find . Se, por exemplo, você quisesse encontrar todos os arquivos e diretórios que tivessem abcd no nome do arquivo, poderia executar:

find . -name '*abcd*'
    
por 11.09.2012 / 18:11
10

Zsh:

ls -l **/*abcd*

Ksh:

set -o globstar     # put this line in your ~/.kshrc
ls -l **/*abcd*

Bash ≥4:

shopt -s globstar   # put this line in your ~/.bashrc
ls -l **/*abcd*

Portátil (exceto para sistemas muito antigos; o OpenBSD levou muito tempo mas finalmente suporta exec … + desde 5.1):

find . -name '*abcd*' -exec ls -l {} +

Não POSIX, mas funciona em * BSD, Linux, Cygwin, BusyBox:

find -name '*abcd*' -print0 | xargs -0 ls -l
    
por 12.09.2012 / 04:04