Answers:
尝试这个:
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到5的字段3 3,3开始和结束3,5。