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 -l
in 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
$8
và column -t
cho 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,3
bắt đầu và kết thúc ở trường 3 3,5
sắp xếp từ trường 3 đến 5.