Imprime o caminho completo com 'ls' e 'find'

1

Eu quero que ls imprima com nomes de caminhos absolutos, como faço isso?

find / -type d -mount -exec ls -ls  {} \;

ls está imprimindo apenas os nomes de arquivos relativos no diretório.

    
por AgA 03.11.2014 / 05:34

3 respostas

1

POSIXly:

find / -xdev -type d -exec sh -c 'for d; do ls -lsd "$d"/*; done' sh {} +

-xdev tem o mesmo efeito que -mount , mas é portátil.

Uma observação de que isso falhará no diretório vazio.

    
por 03.11.2014 / 05:50
0

Esse é o comportamento usual de ls quando um diretório é fornecido como argumento. Então você tem que evitar ls manipulando diretórios especialmente.

  1. Você deve passar caminhos de arquivo para ls , ou seja, -type f em vez de -type d .

  2. Se você quiser passar diretórios também (sem -type f ), precisará da opção -d para ls .

por 03.11.2014 / 05:43
-1

Altere o comando para executar em echo :

find / -type d -mount -exec echo {} \;
    
por 09.11.2014 / 02:13

Tags