파일 목록에 디렉터리 이름 추가

파일 목록에 디렉터리 이름 추가

권한과 디렉토리 이름이 포함된 파일 이름 목록을 얻고 싶습니다.

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

관련 정보