如何使用sed在单行中格式化多行数据,但以逗号分隔?

如何使用sed在单行中格式化多行数据,但以逗号分隔?,sed,Sed,如何在linux中使用sed格式化以下输出 输出 [ "iqn.1998-01.com.vmware:vm-1-20713dc0", "iqn.1998-01.com.vmware:vm-2-48e366a4", "iqn.1998-01.com.vmware:vm-3-7ee56a9c" ] 我正在寻找这在一行如下 预期输出-(此列表可能会有所不同,因为其动态输出可能是一个或多个) 感

如何在linux中使用sed格式化以下输出

输出

[
        "iqn.1998-01.com.vmware:vm-1-20713dc0",
        "iqn.1998-01.com.vmware:vm-2-48e366a4",
        "iqn.1998-01.com.vmware:vm-3-7ee56a9c"
]
我正在寻找这在一行如下 预期输出-(此列表可能会有所不同,因为其动态输出可能是一个或多个)


感谢使用sed,这是我所做的一切,对我来说很有用

shell: echo "{{ iqn_list.stdout_lines | to_json }}" | sed 's/[][]//g' | sed "s/'/ /g" | sed 's/^[ \t]*//;s/[ \t]*$//' | sed 's/^ *//g' | sed 's/ *//g'

这是JSON内容吗?为什么要使用
sed
?你能使用JSON感知的解析器吗,比如
jq
?是的,我可以使用jq,但不知道做这件事的语法。你只需要通过
-
jq-r'join(“,”)
连接内容,仅供参考,这个输出是任务stdout…只需将任务stdout的结果传输到上面的
jq
过滤器
cmd jq-r'join(“,”)“
shell: echo "{{ iqn_list.stdout_lines | to_json }}" | sed 's/[][]//g' | sed "s/'/ /g" | sed 's/^[ \t]*//;s/[ \t]*$//' | sed 's/^ *//g' | sed 's/ *//g'