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
。