ファイルリストにディレクトリ名を追加する

ファイルリストにディレクトリ名を追加する

権限とディレクトリ名を含むファイル名のリストを取得したいです。

ls -ltrR <folder name>| egrep -v '\.:|total'| sed '/^$d'リストを取得するコマンドです。しかし、私が得た結果は次のとおりです。

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

<folder name>以下のようにファイル名に追加したいと思います。

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

ベストアンサー1

findGNU(少なくともfindutils> = 4.2.5)がある場合は、次のことができるはずです。

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

から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).

おすすめ記事