一尘不染

递归查找所有比给定时间新的文件

linux

给定一个time_t:

⚡ date -ur 1312603983
Sat  6 Aug 2011 04:13:03 UTC

我正在寻找一个bash单线列出所有较新的文件。比较应考虑时区。

就像是

find . --newer 1312603983

但是使用time_t而不是文件。


阅读 232

收藏
2020-06-07

共1个答案

一尘不染

这有点circuit回,因为touch它没有原始time_t值,但是应该可以在脚本中安全地完成此工作。(MacOS
X中存在的-r选项date;我没有仔细检查GNU。)可以通过直接在touch命令行中编写命令替换来避免使用“ time”变量。

time=$(date -r 1312603983 '+%Y%m%d%H%M.%S')
marker=/tmp/marker.$$
trap "rm -f $marker; exit 1" 0 1 2 3 13 15
touch -t $time $marker
find . -type f -newer $marker
rm -f $marker
trap 0
2020-06-07