[英]Convert quoted string list to specific format
我正在使用jq從JSON文件中讀取一些數據。
after=`cat somefile.json | jq '.after[]'`
返回這樣的東西:
"some value" "another value" "something else"
基本上是引用字符串的列表。 我現在需要將這些字符串轉換為一個格式為的字符串
"some value; another value; something else;"
我已經嘗試了很多for循環的組合來嘗試使這個工作,並沒有什么工作。
任何人都知道如何做到這一點? 干杯!
使用sed
:
sed -e 's/" /; /g; s/ "/ /g; s/"$/;"/' <<< '"some value" "another value" "something else"'
OUTPUT:
"some value; another value; something else;"
使用sed s
命令替換欲望值
謝謝大家! 我實際上決定深入研究jq文檔,看看我是否可以簡單地利用它來做我想做的事情。
after=`cat somefile.json | jq -c -r '.after[] + "; "'` | tr -d '\n'
最終效果很好。 謝謝你的sed版本! 總是很高興看到另一個有效的解決方
假設.after[]
返回您描述的字符串列表,您可以使用join完全使用jq完成此操作,格式如下:
[ .after[] ] | join("; ") + ";"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.