Shell使用sed命令替换文件中的某一行

Posted 刘林VIP

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Shell使用sed命令替换文件中的某一行相关的知识,希望对你有一定的参考价值。

原始文件内容

-bash-3.2# cat configTest.xml 
<?xml version="1.0" encoding="UTF-8"?>
<config>
<base-config>
<config-version>1</config-version>
<core>8</core>
<version>2.0</version>
</plugins>
</config>

示例1:

替换其中的,修改为2

sed -i "s/<core>[0-9]<\\/core>.*$/<core>2<\\/core>/g" configTest.xml

替换结果:

-bash-3.2# cat configTest.xml
<?xml version="1.0" encoding="UTF-8"?>
<config>
<base-config>
<config-version>1</config-version>
<core>2</core>
<version>2.0</version>
</plugins>
</config>

示例2:

替换其中的

sed -i "s/<version>[0-9].[0-9]<\\/version>/<version>3.5<\\/version>/g" configTest.xml

替换结果:

-bash-3.2# cat configTest.xml                                                                  
<?xml version="1.0" encoding="UTF-8"?>
<config>
<base-config>
<config-version>1</config-version>
<core>6</core>
<version>3.5</version>
</plugins>
</config>

删除文件中的某一行

sed -i "/contextTobeDelete/d" fileName

以上是关于Shell使用sed命令替换文件中的某一行的主要内容,如果未能解决你的问题,请参考以下文章

shell脚本里怎么替换掉某个文件的最后一行的最后一个字符

如何用sed命令替换一行中的某个字符串

sed命令详解

shell-sed中的编辑命令详解(中)

shell脚本替换文本内容

sed替换整行