Linux批量复制文件并根据指定值对新文件重命名

背景:

        工作中需要对nginx中已存在的旧域名迁移到新域名(从.cn迁移到.top),由于需要替换的域名会比较多,新域名在使用的同时,需要生成对应的conf文件。一个个复制效率就比较低了,此时我们可以找到迁移中存在的一些共性,通过脚本的方式生成新的文件并替换文件中旧的域名信息。

功能实现:

话不多说,先上功能实现,下面再补充在功能实现过程中遇到的一些知识点,作为信息记录

#!/bin/bash
cd /opt/nginx/conf/ #接脚本具体存放路径,绝对路径
for i in $*    #$*表示脚本接受参数,多个参数用空格符进行分隔
do
cp XXX.conf ${i}.conf    #XXX.conf为标准文件,做为备份的参考、${i}.conf生成指定文件
sed -i "s/XXX/${i}/g" ${i}.conf    #对新生成文件中还存在旧的域名配置进行替换
done

具体执行:

sh 脚本.sh name1 name2   #往后接参数即可

知识总结:

1.脚本接cd路径,为避免在执行时因位置不对,文件无法找到,导致脚本无法执行

2.$*表示在脚本执行时可以接收输入的参数,多个参数以空格符进行分隔

3.使用for循环,依照一个标准的文件,生成我们实际需要的文件

4.使用sed命令,将标准文件中固定的域名信息进行替换,改为我们实际的参数

注意:此处sed命令需要使用双引号

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值