0%

批量替换shell脚本的特定字符串

需求

nginx的配置文件upstream.conf的内容非常多,需要批量删除”weight=10”这串字符。

方法

使用sed命令。
举例:在命令行执行命令

1
sed -i "s/weight=10//g" upstream.conf //意思就是把upstream.conf文件的所有"weight=10"删除

拓展

sed命令处理字符串

1
2
3
4
5
sed -i "s/str1/str2/g" filename //将filename文件的所有str1替换为str2
sed -i 's/^.....//g' filename //删除所有行前5个字符,.作为字符占位符
sed -i 's/.....$//g' filename //删除所有行后5个字符,.作为字符占位符
sed -i '/str1/d' filename //删除包含str1的行
sed -i '/findstr/s/str1/str2/g' filename //找到包含findstr的行,并且将str1替换为str2

参考博文

https://blog.csdn.net/renhanchi/article/details/70575191

-------------本文结束感谢您的阅读-------------