使用jq,我想将输入A B=1 C= D=2转换为"A", "B": "1", "C": "", "D": "2"我想出了解决办法
A B=1 C= D=2
"A", "B": "1", "C": "", "D": "2"
jq -Rr '. / " " | map(. / "=" | "\"\(.[0])\"" + (if .[1] != null then ": \"\(.[1])\"" else "" end)) | join(", ")'
我相信有一个更优雅的方法可以避免if-then-else。你能帮我缩短表达式吗?
if-then-else
xtupzzrd1#
试试看:
jq -Rr ' . / " " | map(. / "=" | "\"" + join("\": \"") + "\"" ) | join(", ") ' input.json
1条答案
按热度按时间xtupzzrd1#
试试看: