이는 디렉토리에 있는 파일을 나열한 결과입니다.
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'