C/C++教程

sed命令替换文件内容示例(在CentOS中)

本文主要是介绍sed命令替换文件内容示例(在CentOS中),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

通过sed命令和正则表达式,我们可以方便的完成内容替换。

这里我们以要把内容:

image: registry/mes-service:0

结尾处的0 替换为 99

image: registry/mes-service:99

为例进行展示。

 

以下是几个简单的替换示例

1、替换echo命令中的内容

echo image: registry/mes-service:.*|sed 's/mes-service:.*/mes-service:99/g'

 

2、替换cat的文件显示结果

cat green-service.yml|sed 's/mes-service:.*/mes-service:99/g'

 

3、把sed命令装仅shell脚本中,通过参数改变替换内容,并将替换结果写入文件

新建shell(文件名 changeversion),内容如下:

sed -i "s/mes-service:.*/mes-service:$1/g" service.yml
cat service.yml

其中service.yml中,保存有我们文章开头的那个目标字符串“image: registry/mes-service:0”

注意sed -i 后边的字符串通过双引号包了起来,而非单引号,这样里面的 $1才能生效,从我们的命令中获取

-i 可以将替换结果写入文件,真正的修改文件内容

给shell增加执行权限(chmod +x)后,执行

./changeversion 99

可以看到service.yml中的“image: registry/mes-service:0”被替换成了““image: registry/mes-service:99”

 

这篇关于sed命令替换文件内容示例(在CentOS中)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!