Aus*_*tin 6 bash shell-script date
我正在尝试将今天的日期与文件中的最后修改日期进行比较。
DATE=$(date +"%F")
LASTMOD=$(stat $i -c %y);
LASTMOD_DATE=$(cut -d' ' -f1 <<<"$LASTMOD")
if [ "$LASTMOD_DATE" -ge "$DATE" ]; then
printf "%-19s | " "$DATE"
else
printf "%-19s | " "NO RECENT MOD"
fi
Run Code Online (Sandbox Code Playgroud)
目前,这不能正确比较它们,我认为这是因为 LASTMOD_DATE 实际上不是日期时间,所以我收到错误:“需要整数表达式”。
您可以使用时间戳格式date +%s
和-r
选项。
-r, --reference=FILE
display the last modification time of FILE
Run Code Online (Sandbox Code Playgroud)
喜欢
if [ $(date +%s -r file) -ge $(date +%s) ]; then
# do something
fi
Run Code Online (Sandbox Code Playgroud)