替换2行的字符串

时间:2017-01-30 12:44:50

标签: bash sed

我想在命令行上编辑一个文件。 我需要在这个文件中修改一组2行。

以下是两行:

<parameter name="mail.smtp.from">synapse.demo.0@gmail.com</parameter>
    </transportSender>-->

以下是我想要的结果:

<parameter name="mail.smtp.from">synapse.demo.0@gmail.com</parameter>
    </transportSender>

3 个答案:

答案 0 :(得分:0)

我认为它与sed相关的问题不仅仅是一个WSO2IOT问题,不是吗?

您已删除评论标记开始,我认为评论关闭标记的行不是唯一的...

行号是否恒定? 你可以得到你的行号:

sed -i "`grep -n -A1 synapse.demo.0@gmail.com file.xml|tail -n1 | cut --delimiter="-" -f1`s/-->//" file.xml

答案 1 :(得分:0)

您可以使用命令行编辑器,如vi。它几乎带有所有Unix系统。您可以编辑进入插入模式的文件。您可以参考以下链接。 Basic vi commands

答案 2 :(得分:0)

<强>的Perl

perl -lpe 's|</transportSender>-->|</transportSender>|' your-file 一次

perl -lpe 's|</transportSender>-->|</transportSender>|g' your-file 多次

保存就地

perl -i -lpe 's|</transportSender>-->|</transportSender>| your-file' 查找并编辑并保存所有内容