"); //-->
#!/bin/sh
#synchronize folders
show_usage() {
echo "Usage:"
echo " synch_folder [-e NAME] src_folder des_folder"
echo ""
echo " Copy files from src_folder to des_folder. If -e NAME is given, the"
echo " files or sub-folders with this name won't be copied."
echo ""
echo "Synchronize folders, write by Oliver Nie."
return 1
}
#validate the parameter number
if [ $# -lt 2 ]; then
show_usage
exit 1
fi
#validate the parameter number
if [ $1 = "-e" ] && [ $# -lt 4 ]; then
echo "Two folders must be given."
show_usage
exit 1
fi
#get the parameters
if [ $1 = "-e" ]; then
ex_name=$2
src=$3
des=$4
else
src=$1
des=$2
fi
if [ ! -e $src ] || [ ! -e $des ]; then
echo "Folder $src or $des is not existed."
show_usage
exit 1
fi
#output the file list
if [ -z $ex_name ]; then
pushd $src
find . -print | sed "s/\.\///g" | sort > ../src_list
popd
pushd $des
find . -print | sed "s/\.\///g" | sort > ../des_list
popd
else
# supress the given name
pushd $src
find . -path "*$ex_name" -prune -o -print | sed "s/\.\///g" | sort > ../src_list
popd
pushd $des
find . -path "*$ex_name" -prune -o -print | sed "s/\.\///g" | sort > ../des_list
popd
fi
cnt=0
# file list in both folders
for i in `comm -12 src_list des_list`; do
if [ -d "$src/$i" ]; then
continue
else
cp $src/$i $des/$i -f
cnt=`expr $cnt + 1`
fi
done
#echo "Total $cnt files copied!"
# file list only in source folder
for i in `comm -23 src_list des_list`; do
if [ -d "$src/$i" ]; then
mkdir $des/$i
continue
fi
cp $src/$i $des/$i -f
cnt=`expr $cnt + 1`
done
echo "Total $cnt files copied!"
rm src_list des_list
专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们
相关推荐
英伟达和OpenAI推出开源推理模型
苹果称将从三星德克萨斯州工厂采购芯片
同步数字复接的设计及其FPGA实现
双路CCD高精度线纹位置实时监控系统
UUphone免费网络电话
news
静电工业电机避开磁性元件
模拟电子技术 第二讲
只有美资半导体芯片公司才能避免100%关税
CD4017自身质量检测仪
实时嵌入式操作系统μCOS-II在MPC555上的移植
实时操作系统在星载计算机中的应用
国内长途免费打
Protel 99 SE 视频教程 —— 第六节 绘制PCB印制电路板(1)
台积电投资「川普随便喊」很悲哀 分析师提1招反击美国
好消息,够酷的免费电话
摩根大通:特朗普对关键行业的关税可能会持续到他的总统任期更长
台积电内鬼怎被揪出来的? 媒体人还原过程
用CD4017组成20进制计数器
Protel 99 SE 视频教程 —— 第五节 创建PCB元器件
据报道,OpenAI正在就估值$500B二次进行销售的谈判
用CD4017组成反应能力测试仪
模拟电子技术 第一讲
Protel 99 SE 视频教程 —— 第七节 绘制PCB印制电路板(2)
实时操作系统μCOS-II在MCF5272上的移植
用CD4017组成任意进制计数输出电路之二
特朗普计划对芯片征收100%关税,并豁免苹果等
用CD4017组成任意进制输出电路之一
超材料在电子设计中的多功能性
一些arm有用开发工具下载