gpt4 book ai didi

linux - 从 'curl HEAD command' 获取日期值

转载 作者:太空宇宙 更新时间:2023-11-04 10:52:30 24 4
gpt4 key购买 nike

我想检查位于 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com