Posso usar um sinalizador como -l de ls com find ou locate?

4

Existe uma maneira de exibir todas as informações que -l faz em ls (permissões, datas, etc.) ao usar os comandos locate ou find?

    
por Ryan Jurgensen 05.08.2011 / 17:39

4 respostas

7

Não apenas para "ls -l", mas para qualquer ação que você queira executar para localizar ou localizar resultados, é possível usar xargs ou, no caso de encontrar o sinalizador -exec. Aqui estão alguns exemplos para conseguir o que você quer fazer:

No caso de localizar, você pode usar xargs:

locate something | xargs ls -l

O Xargs também pode ser usado para encontrar, mas encontra o sinalizador -exec que permite otimizar ações adicionais com resultados de localização; por exemplo

find . -iname something -exec ls -l '{}' \;
    
por 05.08.2011 / 17:45
3

Não sei o que você quer fazer, mas tente

find . -ls 
    
por 05.08.2011 / 17:44
1

Você pode usar -printf e uma string de formato adequada

 find ./ -printf "%M\t%n\t%u\t%g\t%s\t%t%f\n"
  • % M Permissões simbólicas
  • % n links físicos
  • % u nome de usuário ou ID de usuário numérico
  • % g nome do grupo ou id do grupo numérico
  • % s tamanho do arquivo em bytes
  • % t hora da última modificação
  • % f filename
por 05.08.2011 / 18:00
0

Mais uma opção:

find | while read a; do ls -l "$a"; done
    
por 05.08.2011 / 18:09