unix - 在unix中根据文件名时间戳查找目录中最旧的文件

标签 unix sed awk

我希望首先列出基于文件名日期和时间戳的目录中最早的文件。

示例:

输入文件:

AAAG11020709581.txt
AAAG13020709581.txt
AACL11020709581.txt
AACL13020709581.txt
AAFU11020709581.txt
AAFU13020709581.txt
AAHO11020709581.txt
AAHO13020709581.txt
AAPC11020709581.txt
AAPC13020709581.txt
AAPO11020709581.txt
AAPO13020709581.txt
AATR11020709581.txt
AATR13020709581.txt
AARC11020709581.txt
AARC13020709581.txt

预期输出:

AAAG11020709581.txt
AACL11020709581.txt
AAFU11020709581.txt
AAHO11020709581.txt
AAPC11020709581.txt
AAPO11020709581.txt
AARC11020709581.txt
AATR11020709581.txt
AAAG13020709581.txt
AACL13020709581.txt
AAFU13020709581.txt
AAHO13020709581.txt
AAPC13020709581.txt
AAPO13020709581.txt
AARC13020709581.txt
AATR13020709581.txt

有人可以建议吗?

最佳答案

默认情况下,排序将以行的开头作为键进行排序。您可以使用 -k FIELD.OFFSET 符号告诉它从不同的地方开始,例如如果所有文件名都以 4 个字母开头,您可以像这样跳过这些:

sort -k1.5

输出:

AAAG11020709581.txt
AACL11020709581.txt
AAFU11020709581.txt
AAHO11020709581.txt
AAPC11020709581.txt
AAPO11020709581.txt
AARC11020709581.txt
AATR11020709581.txt
AAAG13020709581.txt
AACL13020709581.txt
AAFU13020709581.txt
AAHO13020709581.txt
AAPC13020709581.txt
AAPO13020709581.txt
AARC13020709581.txt
AATR13020709581.txt

关于unix - 在unix中根据文件名时间戳查找目录中最旧的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15786811/

相关文章:

node.js - Node.js服务器没有响应

shell - 在后台运行进程并等待其准备就绪的最佳实践

sed - 如何使用 sed 删除第一个数字之前的所有字母?

recursion - sed:将保持空间与模式空间相匹配

bash - 如何删除分隔文件中标签之间的空格?

c - 编写基于 Unix 的操作系统

unix - 寻找一种更有效(和可移植)的方式来在 unix 中获取(数字)文件权限

sed - 使用 sed 删除范围内的换行符

bash - 检查两行是否以相同的字符开头,如果是则输出平均值,如果不是则打印实际值

linux - Awk - 如何剪切一行,检查一列是否匹配某些内容,打印另一列?