Câu trả lời:
Thử cái này:
ls -l | awk '{print $3, $4, $8}' | sort
Nó sẽ in tên người dùng, tên nhóm và tên tệp, miễn là tên tệp không chứa dấu cách. Ngoài ra, bạn có thể gõ:
ls -l | awk '{print $3, $4, $0}' | sort
Điều này sẽ in tên người dùng, tên nhóm và ls -lđầu ra đầy đủ , được sắp xếp theo tên người dùng trước, sau đó là tên nhóm, sau đó bất cứ điều gì ls -lin ra trước.
Lưu ý rằng tùy thuộc vào phân phối của bạn, số cột thực tế có thể khác nhau. Tôi đã thử của tôi trong SUSE và coreutils phiên bản 5.2.1.
Có thể có những giải pháp tốt hơn, công phu hơn, nhưng đây là giải pháp đơn giản nhất và sẽ hoạt động hầu hết thời gian.
Như Petersohn đã nói, một cái gì đó tương tự như:
ls -l | awk '{print $3, $4, $8, $0}' | sort | column -t$8và column -tcho bản in đẹpHoặc thậm chí tốt hơn:
ls -l | sort -k 3 - sắp xếp theo chủ sở hữu và theo mặc định sắp xếp trường tiếp theo (nhóm) và trênls -l | sort -k 4,4 -k 3 - sắp xếp theo nhóm và sau đó theo chủ sở hữuls -l | sort -k 3,3 -k 8 - sắp xếp theo chủ sở hữu và sau đó theo tên tệpLưu ý: dấu phẩy là trường terminator nên 3,3bắt đầu và kết thúc ở trường 3 3,5sắp xếp từ trường 3 đến 5.