如何使用Linux sed命令进行字符串替换

码农天地 -
如何使用Linux sed命令进行字符串替换

Linux中sed命令功能强大,本文将详细介绍如何使用sed命令进行字符串替换

一、基本的替换

命令格式1:sed 's/原字符串/新字符串/' 文件

命令格式2:sed 's/原字符串/新字符串/g' 文件

这两种命令格式的区别在于是否有个“g”。没有“g”表示只替换第一个匹配到的字符串,有“g”表示替换所有能匹配到的字符串,“g”可以认为是“global”(全局的)的缩写,没有“全局的”结尾就不要替换全部,这样就好记啦。命令可以使用正则表达式来处理。如下图,第一个命令只是将第一个“b”替换成了“B”,其他的都没有替换;而第二个命令将全文中的数字都替换成了“好的”。

二、替换某行内容

命令格式1:sed '行号c 新字符串' 文件

命令格式2:sed '起始行号,终止行号c 新字符串' 文件

第一个命令表示用新的字符串替换指定这一行的内容, 第二个命令表示用新字符串替换指定几行的内容。如下图,第一个命令将第2行内容替换成了“new test!”,第二个命令将第2到6行替换成了“new test!”。

三、多条件替换

命令格式:sed -e 命令1 -e 命令2 -e 命令3

有些时候有多个替换条件,那就可以使用“-e”参数将这些替换条件连接起来,一次性完成所有的替换操作。例如,可以将上述的两种命令连接起来:“sed -e 's/原字符串/新字符串/' '行号c 新字符串' 文件”。如下图,不仅将小写“a”替换成了大写“A",还将第2行内容替换成了“new test!”。

四、保存替换结果到文件中

命令格式:sed -i 命令

上述这些命令都只是将替换结果打印到屏幕上,如果想保存结果到文件中,就需要加上“-i”参数。

注意,在输入Linux命令前,一定要将输入法切换成英文半角符号状态。从Windows电脑上复制命令到Linux Terminal中执行时,也有可能遇到格式不正确造成的命令执行错误,这时建议手动重新输入字符,如果觉得输入麻烦,可以只删除命令中的空格和最后一个字符后,重新输入空格和最后一个字符。

特别申明:本文内容来源网络,版权归原作者所有,如有侵权请立即与我们联系(cy198701067573@163.com),我们将及时处理。
下一篇: Linux学习总结

Tags 标签

加个好友,技术交流

1628738909466805.jpg