我正在查询 API 并尝试为下一个查询构建 URL,但我很迷失。我使用第一个命令得到了我正在寻找的输出,输出如下所示:
8498fdsfh9238yt8hfsjhf238
38fhj38gjkdf983hgkdhg939g
j93g930jg92jy0odi03igo3t9
我有大约 250 个这样的结果。我需要将它们附加到下一个查询的 URL 末尾,因此我的 URL 需要如下所示
https://api.example.com/ids=8498fdsfh9238yt8hfsjhf238&ids=38fhj38gjkdf983hgkdhg939g&ids=j93g930jg92jy0odi03igo3t9
我真的不知道如何做到这一点,任何可以为我指明正确方向的东西都将不胜感激。
答案1
awk '{ line=(line?line"&":"") "ids="$0 }
END{ print "https://api.example.com/"line }' infile
答案2
您可以使用普通 shell 来做到这一点:
p=
for i in aa bb cc; do
p="$p${p:+&}ids=$i"
done
url="https://api.example.com/?$p"
当然你也可以把它写在一行上。这会构建参数并在不为空时$p
添加分隔符。&
$p
如果您的参数在文件中infile
,您可以通过命令替换来获取它们。
p=
for i in $(cat infile); do
p="$p${p:+&}ids=$i"
done
url="https://api.example.com/?$p"