如何使用sed和regex替换文件中的行的一部分?

时间:2018-12-18 00:25:59

标签: bash sed terminal

我正在使用sed 并希望找到文件中的一部分并替换它 我想找到address =并将“”中的内容替换 在这种情况下,将“我的位置”替换为伦敦, 我正在使用以下脚本来替换address =之后的所有内容,而我只想替换“”

中的内容
<test address="my location",it is located>

sed -e s/address =.*$/address =com.test/g /file.json

1 个答案:

答案 0 :(得分:0)

我相信您正在寻找的只是:

sed -e 's/address=".*"/address="London"/g'

示例中的正则表达式替换address=之后的所有字符,直到行$的结尾。

修改:评论回复:

您可以捕获address=",然后在替换字符串中使用反向引用\1对其进行引用:

sed -e 's/\(address="\)[^"]*/\1London/g'