我試圖刪除線與現有線路的最後一個字符用的sed:如何刪除前行的最後一個字符用sed的
我有一個JSON文件:
{
"name":"John",
"age":"16",
"country":"Spain"
}
我想刪除所有條目的國家,爲此我必須刪除前一行的json語法的逗號。
我使用這個模式:
sed '/country/d' test.json
sed -n '/resolved//.$//{x;d;};1h;1!{x;p;};${x;p;}' test.json
編者按:
的OP後來澄清了以下額外要求,這無效現有的一些答案:
- 發生的country
屬性應刪除
- 所有級別的對象層次
的 - 空白的差異應該被容忍
我想知道爲什麼'sed'? 有很多能夠解析JSON的工具。考慮使用'jq','perl','php',或者內置JSON解析器的東西。 –
我更喜歡SHELL,因爲我將在jenkins工作中使用該命令。 –
「我更喜歡SHELL」:有些工具可以用來從shell腳本操作json。例如jq。 – njzk2