Linux排序" ls -al"按日期输出

时间:2014-05-01 17:15:18

标签: linux bash sorting

我想对" ls -al"的输出进行排序。根据日期命令。我可以使用命令轻松地为一列执行此操作:

$ ls -al | sort -k6 -M -r

但如何同时为第6和第7列做到这一点?命令:

$ ls -al | sort -k6 -M -r | sort -k7 -r

打印出我不明白的结果。

最终目标是查看最近修改过的所有文件(或v.v.)。

以下是要排序的数据和使用的命令的附加示例: enter image description here

1 个答案:

答案 0 :(得分:9)

使用sort,如果指定-k6,则键从字段6开始并延伸到行尾。要截断它并仅使用字段6,您应指定-k6,6。要对多个键进行排序,只需多次指定-k即可。此外,您需要仅将M修饰符应用于月份,并将n修饰符应用于该日期。所以:

 ls -al | sort -k 6,6M -k 7,7n -r 

请注意Charles'关于滥用ls的评论。它的输出无法可靠地解析。