ls -l의 결과에서 파일 권한과 파일 이름을 분리하는 방법은 무엇입니까?

ls -l의 결과에서 파일 권한과 파일 이름을 분리하는 방법은 무엇입니까?

파일 이름과 해당 파일 권한만 보고 싶습니다. 그렇게하는 방법?

ls -l 제공

-rw-rw-r-- 1 jb jb    102 Apr 28 12:48  hello2.txt
-rw-rw-r-- 1 jb jb    102 Apr 28 12:53  hello.txt

아래와 같이 보고 싶습니다.

-rw-rw-r-- 1  hello2.txt
-rw-rw-r-- 1  hello.txt

답변1

다음 예에 대한 명령 stat이 작성되었습니다.

stat -c '%A %n' *.txt

또는

stat --printf '%A\t%n\n' *.txt

여기서 형식 지정자는 다음과 같은 의미를 갖습니다.

   %A     access rights in human readable form
   %n     file name

답변2

자체를 사용하여 대부분의 방법을 얻을 수 있습니다 ls. ls -lGg --time-style=+액세스 모드, 링크 수, 크기 및 이름만 인쇄합니다.

ls파일 이름에는 거의 모든 것이 포함될 수 있으므로 처리 시 출력에 대해 아무 것도 가정할 수 없기 때문에 출력 처리가 까다롭습니다. find다음을 사용하여 필요한 정보를 정확하게 인쇄하는 대신 사용하는 것이 더 좋습니다.-printf:

find . -printf '%M %p\n'

-maxdepth( 목록을 제한하는 데 적절하게 사용되는 것과 같은 옵션이 있습니다 .)

답변3

gawk파이프를 통해 다음과 같이 원하는 필드를 출력 할 수 있습니다 .

ls -l | gawk '{print $1 " " $2 " " $9}'

관련 정보