调用curl localhost:8080/api将返回类似["test1, "test2", "test3"]的内容我想将其转换为:
curl localhost:8080/api
["test1, "test2", "test3"]
test1 test2 test3
然后将其添加到文件中我正在尝试这样的事情:
curl localhost:8080/api | printf "%s\n" >>> file.txt
taor4pac1#
使用jq从命令行解析和操作JSON数据。
$ echo '["test1", "test2", "test3"]' | jq -r '.[]' test1 test2 test3
zujrkrfu2#
除了curl * 和 * jq,你可以给予xidel。它是一个JSON解析器(不像sed!),它可以打开各种在线资源。你可以尝试:
curl
jq
sed
xidel -s "localhost:8080/api" -e '$json()' > file.txt
或
xidel -s "localhost:8080/api" -e 'file:write-text-lines("file.txt",$json())'
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
3条答案
按热度按时间taor4pac1#
使用jq从命令行解析和操作JSON数据。
zujrkrfu2#
除了
curl
* 和 *jq
,你可以给予xidel。它是一个JSON解析器(不像sed
!),它可以打开各种在线资源。你可以尝试:或
tyg4sfes3#
如果由于某种原因您无法安装jq,您可以尝试以下操作:
即: