내 ZSH 사용자 정의 구성에는 다음 기능이 있습니다.
cll() { ls -AlhG "$@" | awk '{k=0;for(i=0;i<=8;i++)k+=((substr($1,i+2,1)~/[rwx]/)*2^(8-i));if(k)printf(" %0o ",k);print}'; }
다음과 같이 출력됩니다.
➜ test cll
total 32
644 -rw-r--r-- 1 work admin 0B Oct 7 18:55 .hidden
644 -rw-r--r-- 1 work admin 480B Aug 22 2016 gulpfile.js
644 -rw-r--r-- 1 work admin 149B Jan 7 2017 index.php
755 drwxr-xr-x 247 work admin 8.2K Aug 22 2016 node_modules
644 -rw-r--r-- 1 work admin 1.0K Aug 22 2016 test.less
644 -rw-r--r-- 1 work admin 664B Aug 22 2016 test.min.css
755 -rwxr-xr-x 1 work admin 0B Oct 7 18:54 try
색상도 지원하므로 내 실행 파일 등의 색상이 좋습니다 :)
-rw-r--r--
권한 분석 열(예: )을 제거하고 싶습니다 . 그래서 나는 다음과 같이 보이기를 원합니다.
644 1 work admin 0B Oct 7 18:55 .hidden
644 1 work admin 480B Aug 22 2016 gulpfile.js
644 1 work admin 149B Jan 7 2017 index.php
755 247 work admin 8.2K Aug 22 2016 node_modules
644 1 work admin 1.0K Aug 22 2016 test.less
644 1 work admin 664B Aug 22 2016 test.min.css
755 1 work admin 0B Oct 7 18:54 try
나는 그것을 방해하려고 노력했지만 내가 한 모든 일은 그것을 파괴했습니다. 나는 파이프를 통하지 않고 완전히 다른 접근 방식을 택할 의향이 있습니다 awk
.
마지막 해결책:
이 문제에 관심을 가져주신 @Skaperen에게 감사드립니다 cut
. 이 함수를 이중 파이프로 연결했는데 훌륭하게 작동합니다! 이제 출력은 다음과 같습니다.
➜ test cll
total
644 work admin 0B Oct 7 18:55 .hidden
644 work admin 480B Aug 22 2016 gulpfile.js
644 work admin 149B Jan 7 2017 index.php
755 work admin 8.2K Aug 22 2016 node_modules
644 work admin 1.0K Aug 22 2016 test.less
644 work admin 664B Aug 22 2016 test.min.css
755 work admin 0B Oct 7 18:54 try
이것은 내 기능입니다 aliases.zsh
(사용자 정의 구성).
cll() { ls -AlhG "$@" | awk '{k=0;for(i=0;i<=8;i++)k+=((substr($1,i+2,1)~/[rwx]/)*2^(8-i));if(k)printf(" %0o ",k);print}' | cut -c 1-5,21-; }
완벽하게 만들 수 있는 유일한 방법은 "디렉토리", "파일", "symlink" 등인지 확인하기 위해 사용자 정의 열을 추가할 수 있다는 것입니다.
답변1
명령을 통해 파이프하십시오 cut -c 1-3,14-
. 조정이 필요한 경우 숫자를 조정하십시오. 자세한 내용을 확인하세요 man cut
.