![파일 목록에 디렉터리 이름 추가](https://linux55.com/image/113285/%ED%8C%8C%EC%9D%BC%20%EB%AA%A9%EB%A1%9D%EC%97%90%20%EB%94%94%EB%A0%89%ED%84%B0%EB%A6%AC%20%EC%9D%B4%EB%A6%84%20%EC%B6%94%EA%B0%80.png)
권한과 디렉토리 이름이 포함된 파일 이름 목록을 얻고 싶습니다.
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
find
GNU (적어도 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).