尝试这个:
ls -l | awk '{print $3, $4, $8}' | sort
Run Code Online (Sandbox Code Playgroud)
它将打印用户名、组名和文件名,前提是文件名不包含空格。或者,您可以键入:
ls -l | awk '{print $3, $4, $0}' | sort
Run Code Online (Sandbox Code Playgroud)
这将打印用户名、组名和完整ls -l
输出,首先按用户名排序,然后是组名,然后是ls -l
先打印的内容。
请注意,根据您的分布,实际的列数可能会有所不同。我在 SUSE 和 coreutils 版本 5.2.1 中尝试了我的。
可能有更好、更复杂的解决方案,但这是最简单的解决方案,并且在大多数情况下都有效。
正如彼得森所说,类似于:
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,3,5
从字段 3 到 5。
归档时间: |
|
查看次数: |
28153 次 |
最近记录: |