找到匹配的文本并替换下一行
我正在尝试在文件中找到一行并将下一行替换为特定值。我尝试使用sed,但似乎不喜欢\ n。还可以怎么做?
该文件如下所示:
<key>ConnectionString</key><string>anything_could_be_here</string>
我想将其更改为此
<key>ConnectionString</key><string>changed_value</string>
这是我尝试过的:
sed -i '' "s/<key>ConnectionString<\/key>\n<string><\/string>/<key>ConnectionString<\/key>\n<string>replaced_text<\/string>/g" /path/to/file
回答:
这可能对您有用(GNU sed):
sed '/<key>ConnectionString<\/key>/!b;n;c<string>changed_value</string>' file
!b
取反前一个地址(regexp)并中断所有处理,结束sed命令,n
打印当前行,然后将下一行读入模式空间,c
将当前行更改为命令后的字符串。
以上是 找到匹配的文本并替换下一行 的全部内容, 来源链接: utcz.com/qa/412081.html