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

135次阅读
没有评论

共计 799 个字符,预计需要花费 2 分钟才能阅读完成。

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

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

如何使用Linux sed命令进行字符串替换只替换第一个匹配项
如何使用Linux sed命令进行字符串替换替换所有匹配项
二、替换某行内容

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

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

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

如何使用Linux sed命令进行字符串替换替换指定行内容
如何使用Linux sed命令进行字符串替换替换指定几行内容
三、多条件替换

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

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

如何使用Linux sed命令进行字符串替换多条件替换
四、保存替换结果到文件中

命令格式:sed -i 命令

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

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

正文完
 
admin
版权声明:本站原创文章,由 admin 2019-11-26发表,共计799字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)
验证码