我想检查今天是否生成了位于http svn位置的文件。我正在运行以下命令来获取元数据 -
curl -i -X HEAD http://subversion.abc.com/svn/repos/latestOutput/somsuvra.xml
这个命令给了我所有的详细信息,如Date:,Server:,Last modified date:等。但是我想在创建文件时获取Date。然后使用系统日期检查它。如果它不匹配则文件过时。可以这样做吗?
答案 0 :(得分:1)
您可以这样做:
获取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