我有 2 个变量,其中包含这样的日期:2001.10.10
我想将 ls 与过滤器一起使用,它只列出上次修改时间在第一个和第二个日期之间的文件
最佳答案
我能想到的最佳解决方案是创建带有边界时间戳的临时文件,然后使用 find
:
touch -t YYYYMMDD0000 oldest_file
touch -t YYYYMMDD0000 newest_file
find -maxdepth 1 -newer oldest_file -and -not -newer newest_file
rm oldest_file newest_file
您可以使用 -print0
find
的选项如果你想去掉前导 ./
来自所有文件名。
如果创建临时文件不是一个选项,您可以考虑编写一个脚本来计算和打印文件的年龄,such as described here ,然后将其用作谓词。
关于Linux:列出文件名,如果上次修改在日期间隔之间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20550593/