我想检查位于 http svn 位置的文件是否是今天生成的。我正在运行以下命令来获取元数据-
curl -i -X HEAD http://subversion.abc.com/svn/repos/latestOutput/somsuvra.xml
此命令为我提供了所有详细信息,例如 Date: 、 Server: 、 Last modified date: 等。但我想获取文件创建时的日期。然后用系统日期检查它。如果不匹配,则该文件已过时。这能做到吗?
最佳答案
你可以这样做:
获取 Last-Modified
日期作为 unix 时间戳:
curl -s -I http://src.chromium.org/svn/trunk/src/AUTHORS |
awk '/Last-Modified/{ date=""; for(i=2;i<=NF;++i) date=(date " " $i); print date;}' |
xargs -I{} date -d {} +"%s"
然后获取你当前的时间作为时间戳:
date +"%s"
然后比较两个时间戳。
更新:
你真的应该学习一些关于 shell 脚本的初学者手册。
这是您的脚本:
URL="$1"
timestamp() {
date +"%s"
}
modificationTimeStamp() {
curl -s -I HEAD "$URL" |
awk '/Last-Modified/{ date=""; for(i=2;i<=NF;++i) date=(date " " $i); print date;}' |
xargs -I{} date -d {} +"%s"
}
t=$( timestamp )
modt=$( modificationTimeStamp )
if [ "$t" -ne "$modt" ]; then
echo "no match"
fi
关于linux - 从 'curl HEAD command' 获取日期值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30220285/