簡體   English   中英

將引用的字符串列表轉換為特定格式

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM