Min*_*ius 0 linux sorting bash
我想根据日期对"ls -al"命令的输出进行排序.我可以使用命令轻松地为一列执行此操作:
$ ls -al | sort -k6 -M -r
Run Code Online (Sandbox Code Playgroud)
但是如何同时为第6和第7列做到这一点?命令:
$ ls -al | sort -k6 -M -r | sort -k7 -r
Run Code Online (Sandbox Code Playgroud)
打印出我不明白的结果.
最终目标是查看最近修改过的所有文件(或vv).
以下是要排序的数据和使用的命令的附加示例:

Wil*_*ell 10
使用sort,如果指定-k6,则键从字段6开始并延伸到行的末尾.要截断它并仅使用字段6,您应该指定-k6,6.要对多个键进行排序,只需指定-k多次.此外,您需要仅将M修饰符应用于月份,并将n修饰符应用于该日期.所以:
ls -al | sort -k 6,6M -k 7,7n -r
Run Code Online (Sandbox Code Playgroud)
请注意查尔斯关于滥用ls的评论.它的输出无法可靠地解析.
最终目标是查看最近修改的所有文件
ls -t
Run Code Online (Sandbox Code Playgroud)
或(反向,最近在底部):
ls -tr
Run Code Online (Sandbox Code Playgroud)
ls 手册页更详细地描述了这一点,并列出了其他选项。
| 归档时间: |
|
| 查看次数: |
5480 次 |
| 最近记录: |