它不起作用。如何检查字符串的一部分(而不是整个字符串)?
{
"url": "https://<part1>.test/hai/<part1>"
}
jq --arg input "$arg" \
'if .url == "<part1>"
then . + {"url" : ("https://" + $input + ".test/hai/" + $input) }
else . end' test.json > test123.json
答案 0 :(得分:1)
在你的test.json中,.url的值为"<part1>"
,所以显然你不想检查它的值是否为.url | contains("<part1>")
。
也许您打算测试条件:.url | endswith("<part1>")
或test/1
- 问题描述不清楚。
如果你的jq支持正则表达式,你可以使用.url | test("//<part1>.*<part1>$")
,例如
gsub
另一种可能性是使用<?php
$data = [
'email' => 'jsnow@got.com',
'token' => '58938539'
];
$username = "auth-user";
$password = "auth-pwd";
$string = http_build_query($data);
$ch = curl_init("http://www.econcentre.com/receiver.php");
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERPWD, $username . ":" . $password);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
$response = curl_exec($ch);
curl_close($ch);
?>
。