给定一个包含一些文件列表的文本文件,例如
$ cat file_list.txt
/var/x/file1.txt
/var/y/file2.txt
<etc>
我如何根据某些标准(例如上次访问时间或上次更改时间)对这个文件列表进行排序?
提前致谢。
最佳答案
您可以像这样将 stat
命令与 sort
一起使用:
while read -r line; do
stat -c '%Y %n' "$line"
done < file_list.txt | sort -n | cut -d ' ' -f2
stat -c '%Y %n'
列出上次修改的时间,自 Epoch 以来的秒数,后跟空格和文件名sort -n
按数字对时间戳及其文件名进行排序cut -d ' ' -f2
仅打印排序输出中的文件名
关于bash - 在 bash 中按日期排序文件列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26575507/