我试图用if语句中的bash来测试一个文件创建的时间(以秒为单位).我需要创建日期,而不是修改.
你有什么想法如何做到这一点,而不使用像grep这样的命令?
@H_403_3@@H_403_3@
我恐怕我无法回答创作时间的问题,但是对于上次修改时间,您可以使用以下内容来获取时间日期,以秒为单位,因为文件名是最后一次修改:
date --utc --reference=filename +%s
所以你可以这样做:
modsecs=$(date --utc --reference=filename +%s) nowsecs=$(date +%s) delta=$(($nowsecs-$modsecs)) echo "File $filename was modified $delta secs ago" if [ $delta -lt 120 ]; then # do something fi
等等..
更新
一个更加骄傲的做法(再次修改时间):how do I check in bash whether a file was created more than x time ago?