我需要检查文件的最后修改日期是否大于保存在变量中的日期,如下所示:
variable=$date
if [ $file_last_modified_date -gt $variable ]; then.......
我得到的错误:[: too many arguments
我担心,错误是因为两种格式不同:
file_last_modified_date
:2016-11-01 23:00:00.000000000 +0100
variable
:Wed Nov 2 16:10:52 CET 2016
我怎样才能使它们具有可比性?
答案 0 :(得分:0)
您需要将两个日期转换为适合比较的通用格式。您可以简单地使用GNU date
将两者转换为Unix纪元时间戳:
d1=$(date +%s --date "$file_last_modified_date") # 1478037600
d2=$(date +%s --date "$variable") # 1478099452
现在你可以将它们作为整数进行比较。
if [ "$d1" -gt "$d2" ]; then