业务背景
线上配置中nginx存在大量 return 301重定向的配置,根据必须注释。文件夹下有大量文件,每个文件都有很多行。由于登录服务器有点麻烦,希望通过shell脚本处理
如何注释
ls | xargs -I {} sed -i "/301/s/^/# /" {}
解释
- ls 列出文件内容
- xargs 循环处理管道符前命令结果
- sed -i “/301/s/^/# /” 文件名
- -i 修改源文件
- 匹配到301 并将文件头替换文 # 即注释
这个命令比较简陋,给所有匹配到的行前面加#。 如果这一行本来就注释了,可能会重复注释。大家根据业务实际情况使用
如何对比修改结果
diff ./文件夹A ./文件夹BK/
对比修改后的文件夹和备份的文件夹,这个命令会对比两个文件夹所有文件内容,比较清晰的给出结果