gpt4 book ai didi

json - 带有日期和变量问题的 jq

转载 作者:太空宇宙 更新时间:2023-11-04 12:05:38 26 4
gpt4 key购买 nike

以下正在 bash 中作为脚本运行,目前手动调用。

在过去的几个小时里,我一直在努力解决这个问题。无论我用什么方式,我似乎都无法将变量传递给 jq 。当我手动设置变量而不引用我的 jq 命令并回显它时,它起作用了。但是,当它放在我的命令中时,它不起作用。

我认为它与 fromdateiso8601 有关或 <运算符(operator)导致了问题。

timestamp.json文件中包含以下数百项。我需要引用每一个,并取出任何超过 45 天的。这是我尝试过的。

date -d -45days +%s >> 45days.text
days=$(<45days.text)
echo $days
cat $_fileformated | jq 'select(.Timestamp | . == null or fromdateiso8601? < "$days" ) .serverrname' >> $filereport
cat $_fileformated | jq -r --arg days "$days" 'select(.Timestamp | . == null or fromdateiso8601? < "$days" ) .serverrname' >> $filereport
cat $_fileformated | jq -r --arg days "$days" 'select(.Timestamp | . == null or fromdateiso8601? < env.days ) .serverrname' >> $filereport
cat $_fileformated | days="$days" jq 'select(.Timestamp | . == null or fromdateiso8601? < 'env.days' ) .serverrname' >> $filereport
{
"servername": "xxxxxxxx",
"Timestamp": "2018-06-12T13:41:08Z"
}

最佳答案

使用您的示例输入和 days=1524953907,以下查询:

jq --argjson days $days '
select(.Timestamp | select(fromdateiso8601 > $days)).servername'

产量:

"xxxxxxxx"

可以使用 --arg days $days 但随后您必须将字符串转换为数字,例如通过 $days|tonumber

关于json - 带有日期和变量问题的 jq,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50826242/

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