在这里抨击新手。任务是在一个(相当大的)目录中查找修改日期介于不同时间对之间的所有文件。这些时间在 CSV 文件中指定为 Unix 时间戳:
1483743420,1483747020
1484348640,1484352240
1484953920,1484957520
1485559200,1485562800
1486164480,1486168080
1486769820,1486773420
我早期的想法是使用find
and awk
:
find "$PROJECT_DIR" -type f \
-newermt "$(awk -F "","" '{print $1}' "$DATE_CSV")" -not \
-newermt "$(awk -F "","" '{print $2}' "$DATE_CSV")"
find
似乎无法识别这种日期格式。更紧迫的是,此代码仅将第一个日期发送到find
,其余的将被打印:
$ bash datefind.sh
find: Can't parse date/time: 1483743420
1484348640
1484953920
1485559200
1486164480
1486769820
有没有办法用一个 find 命令来做到这一点?还是我应该尝试别的?