gpt4 book ai didi

linux - 从 awk block 中调用另一个命令行应用程序

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:42:52 27 4
gpt4 key购买 nike

我想为通过 awk 处理的每个匹配行调用 curl(调用 REST 服务)。

输入文件(以冒号分隔)。例如

$ cat /tmp/input

tiger:EN
haiti:FR
federer:CH

我做到了这一点:

awk -F':' '{print $1 "=" $2}' /tmp/input

这只是确认我可以正确提取列。

现在我需要像这样调用 REST 服务:

curl -XPOST -H "Content-Type: application/json"
-d "{ lang: EN, name: tiger }" http://server/rs/user

是否可以在 awk 中编写一行代码来执行此操作,还是我应该编写一个 bash 脚本?

最佳答案

while IFS=":" read -r lang name
do
curl -XPOST -H "Content-Type: application/json" -d "{ lang: $lang, name: $name }" http://server/rs/user
done <"file"

或者你也可以使用 awk

awk -F":" '
{
cmd="curl -XPOST -H \042Content-Type: application/json\042 -d \042{ lang: "$2", name: "$1" }\042 http://server/rs/user"
system(cmd)
}
' file

关于linux - 从 awk block 中调用另一个命令行应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2171382/

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