将字符串数组从curl转换为文件中的单独新行

yyhrrdl8  于 2022-11-13  发布在  其他
关注(0)|答案(3)|浏览(195)

调用curl localhost:8080/api将返回类似["test1, "test2", "test3"]的内容
我想将其转换为:

test1
test2
test3

然后将其添加到文件中
我正在尝试这样的事情:

curl localhost:8080/api | printf "%s\n" >>> file.txt
taor4pac

taor4pac1#

使用jq从命令行解析和操作JSON数据。

$ echo '["test1", "test2", "test3"]' | jq -r '.[]'
test1
test2
test3
zujrkrfu

zujrkrfu2#

除了curl * 和 * jq,你可以给予xidel。它是一个JSON解析器(不像sed!),它可以打开各种在线资源。你可以尝试:

xidel -s "localhost:8080/api" -e '$json()' > file.txt

xidel -s "localhost:8080/api" -e 'file:write-text-lines("file.txt",$json())'
tyg4sfes

tyg4sfes3#

如果由于某种原因您无法安装jq,您可以尝试以下操作:

$ echo '["test1, "test2", "test3"]' |  sed 's/[]\[",]/\n/g' | grep -v '^\ *$'
test1
test2
test3

即:

$ curl localhost:8080/api | sed 's/[]\[",]/\n/g' | grep -v '^\ *$' >>> file.txt

相关问题