我想对" ls -al"的输出进行排序。根据日期命令。我可以使用命令轻松地为一列执行此操作:
$ ls -al | sort -k6 -M -r
但如何同时为第6和第7列做到这一点?命令:
$ ls -al | sort -k6 -M -r | sort -k7 -r
打印出我不明白的结果。
最终目标是查看最近修改过的所有文件(或v.v.)。
以下是要排序的数据和使用的命令的附加示例:
答案 0 :(得分:9)
使用sort,如果指定-k6
,则键从字段6开始并延伸到行尾。要截断它并仅使用字段6,您应指定-k6,6
。要对多个键进行排序,只需多次指定-k
即可。此外,您需要仅将M修饰符应用于月份,并将n修饰符应用于该日期。所以:
ls -al | sort -k 6,6M -k 7,7n -r
请注意Charles'关于滥用ls的评论。它的输出无法可靠地解析。