当前位置: 首页 > 面试题库 >

找到匹配的文本并替换下一行

彭涵衍
2023-03-14
问题内容

我正在尝试在文件中找到一行并将下一行替换为特定值。我尝试使用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将当前行更改为命令后的字符串。



 类似资料:
  • 问题内容: 我试图从找到字符串中的,如果有串,我需要用相应的值来代替它 我有如下 我可以使用任何(左侧)字符串,我需要将其替换为右侧字符串值 以下是几个示例错误消息 下面是我的方法转换错误消息 以下是预期的输出:对于errorMessage1,它工作正常 但是对于errorMessage2它不起作用。它不会替换为 有没有办法找到多个字符串的出现并将其替换为其对应的值? 例如:查找并替换为 也想知道

  • 我从一个wordpress博客获得RSS提要,在那里我得到字符串中的缩略图。下面是我得到的示例提要 我需要移除”?从图像源调整大小=50,50"。但问题是我不能在我的代码中硬编码,因为大小可能不一样。此外,属性放置的顺序可能会改变 我怎样才能简单地删除任何与此模式匹配的内容,以便始终获得输出 提前谢谢

  • 当我检查doc_text字符串时,我可以看到“{Today}”,但“{ConsultantName}”被拆分为多个运行。开始大括号和结束大括号不与单词放在一起--它们之间有XML标记: 代码

  • 我只想替换字符串中的单词,如果单词字符或单词前后没有连字符。 文本: 替换后的预期结果: 正则表达式: < li >正则表达式当前仅匹配第一个匹配项(< code>#后的按钮)。我需要做什么来匹配所有事件? < li >如何在Java中将< code>button替换为< code>text或任何其他单词? 我读过主题我能在Java regex中替换组吗?,但是我真的不明白如何为我的特殊情况使用示

  • 我正试图把一个程序放在一起,将搜索整个文本文件的内容。该程序将根据字典搜索文本文件,并用字典值替换找到的任何键。我遇到了一个错误,我不知道如何继续。 示例:dictionary={key1:value1,key2:value2,key3:value3等...} 随机文本示例:在事实所有Key1之前,告诉这个任何他的。Key1坚持限制婚礼,Key2返回Key3辩论呈现。 以上事实所有的价值1告诉这个