在生产环境中经常会遇到对配置文件的修改,那写成一个脚本,传个参数修改配置文件不就方便多了吗。
对一个文件的操作那我暂且分为增删改查了
写在前面
- -i 这个参数很重要,若需要更改源文件,请配合-i参数使用。
- 一开始对一个空文件进行操作,发现无法操作,写入一点内容就可以了。
增
sed -i '2a lalala' test.conf #在文件的第二行下面插入一行(lalala)
sed -i '$a hahahaha' test.conf #在文件的最后新增一行(hahaha)
sed -i '1i papapa' test.conf #在第一行前面插入一行(papapa)
删
sed -i '1d' test.conf #删除文件的第一行
sed -i '2,$d' test.conf #删除第二行到最后一行
改
s 后包含在斜杠中的文本是正则表达式,后面跟着的是需要替换的文本。可以通过 g 标志对行进行全局替换
sed -i 's/^hahaha/papapa/g' test.conf #将所有hahaha替换为papapa,g表示全局替换
sed -e '1,3d' -e 's/^hahah/papapa/g' test.conf #多重编辑
sed -i '/lalalala/c pupupupu' test.ini #修改包含有lalalalala的一行为pupupupu
sed -i '1,5y/abcd/ABCD' test.ini #将1到5行的小写abcd转换为大写的ABCD
给sed命令传递参数
sed -i "/hahaha/c ${param}" test.ini #注意使用双引号,${}使用环境变量
参考文档
【CSDN----Shell 文件内容替换 sed用法】
【博客园----sed命令用法】
【CSDN—三剑客之Sed关于 p、a、d、w、i 、c 模式的干货】