ubunt系统下使用shell脚本实现两个文件夹auto merge

有两个目录dest和src, dest目录下有目录和文件,src目录下有更改过的一些dest下的目录和文件,以及一些新增的文件,现在对两个目录进行合并以及覆盖dest下的旧文件。
PS:该命令可以将dest下与src名字相同的文件,替换为src的文件。没有的文件则直接copy。不修改dest下,src没有的文件。递归调用,实现对所有文件、文件夹操作。

cp -fvrap $PATH2/* $PATH1/
命令其实非常简单,解释下:
-f  强制覆盖,不询问yes/no(-i的默认的,即默认为交互模式,询问是否覆盖)
-v  merge过程可视化
-r  递归复制,包含目录
-a  做一个备份,这里可以不用这个参数,我们可以先备份整个src目录
-p  保持新文件的属性不变

automerge.sh

#!/bin/bash

#PATH1 is destination folder, will be changed
#PATH2 is source folder, not change

PATH1='/home/kent/kent/dest'
PATH2='/home/kent/share/src'

cp -fvrap $PATH2/* $PATH1/
kent@ubuntu:~/kent$ chmod +x automerge.sh
kent@ubuntu:~/kent$ ./automerge.sh 
'/home/kent/share/src/a' -> '/home/kent/kent/dest/a'
'/home/kent/share/src/b' -> '/home/kent/kent/dest/b'
'/home/kent/share/src/c' -> '/home/kent/kent/dest/c'


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AllenSun-1990

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值