我们尝试替换组词之后的第三个字段的内容,
文件中的以下行始终具有相同的语法,但要更改的第三个字段除外
"groups": [{"group": "string”}],
第三字段包含A-Z
,a-z
,数字,([_ - .
)的组合的任何字符
第三个字段始终用双引号引起来
示例
"groups": [{"group": "MOVIES.ARE.GOOD”}],
"groups": [{"group": "no_one.ok”}],
"groups": [{"group": "evry_one.lol”}],
"groups": [{"group": "NO_VALUES_ARE-GOOD”}],
"groups": [{"group": "___scripts”}],
等
我尝试使用以下sed,但没有成功
var=my.word__that.I.need.to.replace
sed -i "s/\(group\": \"\)[*]*/\1$var/" file
假设:
"
。请参阅上面@Gordon的评论。我已对此文件内容(文件名data.txt)测试了命令:
"groups": [{"group": "MOVIES.ARE.GOOD”}],
"groups": [{"group": "no_one.ok”}],
"groups": [{"group": "evry_one.lol”}],
"groups": [{"group": "NO_VALUES_ARE-GOOD”}],
"groups": [{"group": "___scripts”}],
这对我有用:
newword=TATA
sed -i "s/\(group\": \"\).*/\1$newword\"\}\],/" data.txt
基本上,group": "
之后的所有内容都将替换为TATA"}],
我的结果文件现在包含:
"groups": [{"group": "TATA"}],
"groups": [{"group": "TATA"}],
"groups": [{"group": "TATA"}],
"groups": [{"group": "TATA"}],
"groups": [{"group": "TATA"}],