如何递归列出目录下的所有文件并按修改时间对输出进行排序?
我通常使用ls -ltr
但它不会递归地找到所有文件。我正在使用 Linux .
答:
使用find
s-printf
并按合理的日期格式排序:
find -type f -printf '%T+\t%p\n' | sort -n
这应该最大限度地减少进程分叉,因此是最快的。
如果您不喜欢小数部分的示例(无论如何通常都不会在文件系统中实现):
find -type f -printf '%T+\t%p\n' | sed 's/\.[[:digit:]]\{10\}//' | sort -n
find -type f -printf '%T+\t%p\n' | cut --complement -c 20-30 | sort -n
相关博文
如何递归列出文件并按修改时间排序?