linux shell 递归拷贝文件

         最近在做项目的时候,使用到了FTP,文件服务器部署在Linux操作系统下,项目部署的时候分为测试系统和正式系统,由于有一部分数据在测试系统FTP上需要将该数据向正式系统FTP上进行对应的数据迁移,本应该是将对应的数据进行合并的,也就是他们的目录结构是一样的,然当时由于进行数据迁移的时候并不知道 ,只是将正式系统上的数据在对应的目录给从命名了,将测试系统的数据给迁移过来了。然正式系统的数据对应就访问不到了,然后客户就打电话来了,查了半天才知道。这么多的目录要合并也不是好办法,涉及到的目录文件也不少,其实就是将修改过名字的目录下的所有文件拷贝到现在对应的目录下,在Linux下使用cp  带上一些参数就可以了,应该没问题。

也就是类似于下图所示的目录结构















于是琢磨着写了个Linux  shell 脚本完成了该功能 ,代码如下


#!/bin/bash
function copypath(){
  regpath="image20150314_bak"
  replace="image"
  for file in `ls $1`
  do
     if [ -d $1"/"$file ]
     then
       copypath $1"/"$file
      else
        srcpath=$1"/"$file
        destpath=${srcpath//$regpath/$replace}
        echo $destpath
        # excute something ccmmand,for example:cp $srcpath $destpath
	cp $srcpath $destpath
     fi
  done
}
INIT_PATH="/bjzm/bjzm/image20150314_bak"
copypath $INIT_PATH
 


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值