Use isto: (ls pode classificar, funciona com nomes de arquivos com espaços ou caracteres incomuns)
find . -name *foo* -print0 | xargs -0 ls -lah
"-print0" significa que os nomes de arquivos como file foo 1
serão obtidos find
seguidos por nulo. O argumento "-0" para xargs diz que ele espera esse tipo de entrada, para que os nomes de arquivos com espaços sejam canalizados ls
corretamente para o comando.
A xargs
construção é, de certa forma, melhor do que find etc -exec ls {} \;
porque todos os nomes de arquivos são enviados de ls
uma só vez; portanto, se você deseja classificá-los todos por carimbo de data / hora (usando ls
), algo como isso funciona:
find . -iname *pdf -print0 | xargs -0 ls -ltr
Em um sistema NetBSD, "-printx" também é uma opção (isso me parece um argumento útil, mas seja o que for, temos xargs -0 e tudo bem):
find . -name *foo* -printx | xargs ls -lah
(não para o Ubuntu)