Adicionando o nome do dir à lista de arquivos

0

Eu quero obter a lista de nomes de arquivos com permissão junto com nomes de dir.

Comando

ls -ltrR <folder name>| egrep -v '\.:|total'| sed '/^$d' para obter a lista. Mas estou recebendo a saída como:

<folder name>:
 permison filename 1
 permission filename 2
<folder name>:
<folder name>:
 permission filename1
 permission filename2

Eu quero adicionar o <folder name> aos nomes dos arquivos, como abaixo.

<folder name> permission filename 1
<folder name> permission filename 2
<folder name>
<folder name>  permission filename1
<folder name>  permission filename2
    
por bharathappriyan 12.06.2017 / 00:48

1 resposta

4

Se você tem o GNU find (pelo menos com findutils > = 4.2.5) você deve ser capaz de fazer algo como

find path/to/folder -type f -printf '%h %M %f\n'

De man find :

       %h     Leading directories of file's name (all but the last ele‐
              ment).  If the file name contains no slashes (since it is
              in the current directory) the  %h  specifier  expands  to
              ".".

       %M     File's  permissions  (in symbolic form, as for ls).  This
              directive is supported in findutils 4.2.5 and later.

       %f     File's  name  with  any leading directories removed (only
              the last element).
    
por 12.06.2017 / 01:32