답변:
이 시도:
ls -l | awk '{print $3, $4, $8}' | sort
파일 이름에 공백이 없으면 사용자 이름, 그룹 이름 및 파일 이름이 인쇄됩니다. 또는 다음을 입력 할 수 있습니다.
ls -l | awk '{print $3, $4, $0}' | sort
사용자 이름, 그룹 이름 및 전체 ls -l
출력을 먼저 사용자 이름으로 정렬 한 다음 그룹 이름으로 ls -l
인쇄 한 다음 무엇이든 먼저 인쇄합니다.
분포에 따라 실제 열 번호가 다를 수 있습니다. SUSE 및 coreutils 버전 5.2.1에서 내 것을 시도했습니다.
더 정교하고 더 나은 솔루션이있을 수 있지만 가장 간단한 솔루션이며 대부분 작동합니다.
petersohn이 말했듯이 다음과 유사합니다.
ls -l | awk '{print $3, $4, $8, $0}' | sort | column -t
$8
와 column -t
꽤 인쇄를또는 더 나은 :
ls -l | sort -k 3
-소유자별로 정렬하고 기본적으로 다음 필드 (그룹)와 정렬ls -l | sort -k 4,4 -k 3
-그룹별로 정렬 한 다음 소유자별로 정렬ls -l | sort -k 3,3 -k 8
-소유자별로 정렬 한 다음 파일 이름별로 정렬참고 : 쉼표는 종결 자 필드이므로 3,3
필드 3에서 시작 및 끝 3,5
은 필드 3에서 5까지 정렬됩니다.