권한을 얻고 한 줄로 연결하십시오.

권한을 얻고 한 줄로 연결하십시오.

이는 디렉토리에 있는 파일을 나열한 결과입니다.

total 4
-rw-r--r-x 1 y_wc y_wc 6828641 dez 24 18:21 file1
-rw-rw-rw- 1 y_wc y_wc 2051577 dez 24 18:13 file2
-rw-rwxr-x 1 y_wc y_wc 1874334 dez 24 18:14 file3
-rw-rwxrwx 1 y_wc y_wc 2902856 dez 24 18:14 file4

권한이 나타나는 순서대로 한 줄에 연결하고 싶습니다. 여기의 권한에는 파일 형식이 포함되지 않습니다. 출력은 다음과 같아야합니다. rw-r--r-xrw-rw-rw-rw-rwxr-xrw-rwxrwx

coreutils를 사용하고 awk.

나는 coreutils 솔루션에 가깝지만 파일 형식 문자를 제거할 수 없습니다. 이게 내가 얻은 거야

ls -l | tail -n+2 | cut -d" " -f1 | tr -d '\n'

답변1

ls서식 옵션이 매우 열악합니다. 원하는 파일 정보의 형식을 지정하는 옵션이 stat있습니다 .--printf

한 가지 예:

root@linux:~# stat --printf  '%A\n' /etc/passwd /etc
-rw-r--r--
drwxr-xr-x

당신이 첫 번째 캐릭터가 아니기 때문에 투어 중입니다

root@linux:~# stat --printf  '%A\n' file*  | cut -c2-11 | tr -d '\n'

답변2

첫 번째 문자는 삭제할 수 있습니다cut -c 2-

ls -l | tail -n+2 | cut -d" " -f1 | cut -c 2- | tr -d '\n'

관련 정보