#!/bin/bash
function GetKey(){
section=$(echo $1 | cut -d '.' -f 1)
key=$(echo $1 | cut -d '.' -f 2)
sed -n "/\[$section\]/,/\[.*\]/{
/^\[.*\]/d
/^[ \t]*$/d
/^$/d
/^#.*$/d
s/^[ \t]*$key[ \t]*=[ \t]*\(.*\)[ \t]*/\1/p
}" rule
}
function GetInclude(){
sed -n "/\[$1\]/,/\[.*\]/{
/^\[.*\]/d
/^[ \t]*$/d
/^$/d
/^#.*$/d
s/^[ \t]*\(.*\)[ \t]*/\1/p
}" rule
}
BACKUP_FOLDER=$(GetKey "base.dir_Test")
OUT_FOLDER1=$(cd "$(dirname "$0")"; pwd)/Release/
OUT_FOLDER2=$(cd "$(dirname "$0")"; pwd)/Compare/
INCLUDE_PARAM=""
EXCLUDE_PARAM=""
HONBAN=""
for ed in $(echo $(GetKey "exclude.dirs")|tr ':' ' '|tr -s ' ')
do
EXCLUDE_PARAM=$EXCLUDE_PARAM" -x "$ed
done
if [ "$#" -gt 0 ]; then
if [ ! -z $(echo $1|grep "-") ]; then
while getopts hix: OPTION
do
case $OPTION
in i)for ed in $(cat rule |grep -v "exclude" | grep -v "base" |grep "\[\(.*\)\]" |tr '\n|\[\]' ' ')
do
for module in $(GetInclude $ed)
do
INCLUDE_PARAM=$INCLUDE_PARAM"\/"$ed"\/"$module"\/|"
done
done
INCLUDE_PARAM=$(echo $INCLUDE_PARAM |sed "s/.$//");;
h)BACKUP_FOLDER=$(GetKey "base.dir_HB");
HONBAN="TRUE";
OUT_FOLDER1=$(cd "$(dirname "$0")"; pwd)/Release_HB/;:
OUT_FOLDER2=$(cd "$(dirname "$0")"; pwd)/Compare_HB/;;
x)EXCLUDE_PARAM=$EXCLUDE_PARAM" -x "$OPTARG;;
\?)echo "invalid parameter!"
exit 1;;
esac
done
shift $(($OPTIND - 1))
fi
fi
echo $INCLUDE_PARAM
#echo "EXCLUDE_PARAM:"$EXCLUDE_PARAM
echo "----------------------------------------------------------------------------------------------------------"
shopt -s extglob
if [ -d $OUT_FOLDER1 ]; then
rm -rf $OUT_FOLDER1!(db-upgrade|*.sh|pmnwdl-inc)
else
mkdir -p $OUT_FOLDER1
fi
if [ -d $OUT_FOLDER2 ]; then
rm -rf $OUT_FOLDER2
mkdir -p $OUT_FOLDER2
else
mkdir -p $OUT_FOLDER2
fi
REL_FOLDER=$(echo $1 |sed "s/[\/]$//")
TMP_FOLDER=$(echo $2 |sed "s/[\/]$//")
if [ ! -z $REL_FOLDER ]; then
if [ ! -z $(echo $REL_FOLDER|grep -E "^[0-9]+$") ]; then
REL_FOLDER=$BACKUP_FOLDER$(ls -t $BACKUP_FOLDER | sort -r | grep $REL_FOLDER | head -n 1)
fi
else
REL_FOLDER=$(ls -t $BACKUP_FOLDER | sort -r | grep $(date +%Y%m%d) | head -n 1)
if [ -z $REL_FOLDER ]; then
REL_FOLDER=$(ls -t $BACKUP_FOLDER | sort -r| head -n 1)
fi
REL_FOLDER=$BACKUP_FOLDER$REL_FOLDER
fi
if [ -z $2 ]; then
CNOW=$(echo "$REL_FOLDER"|awk 'BEGIN{FS="/"} {print substr($5,0,8)}')
#echo 'CNOW:'$CNOW
TMP_FOLDER=$BACKUP_FOLDER$(ls $BACKUP_FOLDER |sort -r |awk -v cnow="$CNOW" '{for(i=1;i<=NF;i++) if(substr($i,0,8) < cnow ){ print $i;exit}}')
fi
echo "REL_FOLDER:"$REL_FOLDER
echo "TMP_FOLDER:"$TMP_FOLDER
echo "----------------------------------------------------------------------------------------------------------"
if [ -d $REL_FOLDER -a -d $TMP_FOLDER ]; then
if [ ! -z $(echo $REL_FOLDER|grep -E '^/home/basz/.*/[0-9]+$') -a ! -z $(echo $TMP_FOLDER|grep -E '^/home/basz/.*/[0-9]+$') ]; then
for file in $(diff -x .svn $EXCLUDE_PARAM -qurN $REL_FOLDER $TMP_FOLDER |awk '{print $2 }')
do
if [ ! -z $INCLUDE_PARAM ]; then
if [ -z $(echo $file | grep -E $INCLUDE_PARAM) ]; then
continue
fi
fi
if [ -f $file ]; then
if [ -z $HONBAN ]; then
BASEFOLDER=$(dirname $file|cut -d '/' -f 6-)
FOLDER1=$OUT_FOLDER1$BASEFOLDER
FOLDER2=$OUT_FOLDER2$BASEFOLDER
if [ ! -d $FOLDER1 ]; then
mkdir -p $FOLDER1
fi
if [ ! -d $FOLDER2 ]; then
mkdir -p $FOLDER2
fi
cp -fp $file $FOLDER1/
echo $file
file2=$TMP_FOLDER/$BASEFOLDER/$(basename $file)
if [ -f $file2 ]; then
#echo $file2
cp -fp $file2 $FOLDER2/
fi
else
BASEFOLDER=$(dirname $file|cut -d '/' -f 6-7)
FOLDER1=$OUT_FOLDER1$BASEFOLDER
FOLDER2=$OUT_FOLDER2$BASEFOLDER
if [ ! -z $BASEFOLDER ]; then
if [ ! -d $FOLDER1 ]; then
echo $REL_FOLDER/$BASEFOLDER
mkdir -p $FOLDER1
cp -rfp $REL_FOLDER/$BASEFOLDER/* $FOLDER1
fi
fi
fi
fi
done
chown -R builder:builder $OUT_FOLDER1
chown -R builder:builder $OUT_FOLDER2
exit 0
fi
fi
echo 'invalid folder!'
分享到:
相关推荐
使用差分进化的关键帧提取 实现 DE 以从视频流中提取关键帧的 Python 脚本。 存储库包含五个 python 脚本: DE_SSIM.py 此脚本使用平均 SSIM 作为适应度函数。 输入:JPEG 图像(视频中的帧) 输出:包含所有...
研究了一种基于核的最大散度差准则的文本特征抽取方法。首先回顾了文本分类中特征降维的主要方法、Fisher准则及其相关研究进展以及存在的问题;然后分析了基于散度差准则的线性鉴别方法的优点与不足,借助于核函数较...
matlab开发-16点半径2差分。频率快速傅立叶变换中16点抽取的实现
研究了一种基于核的最大散度差准则的文本特征抽取方法。首先回顾了文本分类中特征降维的主要方法、Fisher准则及其相关研究进展以及存在的问题;然后分析了基于散度差准则的线性鉴别方法的优点与不足,借助于核函数较...
CIC滤波器是一种具有累积效应的滤波器,通过多级级联的差分延迟环来实现。它可以有效地降低采样率,并在降采样后对信号进行插值。 CIC滤波器的插值功能是通过增加滤波器的级数来实现的。每增加一个级数,CIC滤波器的...
Sigrity软件PowerSI提取PCB的S参数
交替方向隐式方法是为了对二维区域内偏微分方程的差分求解而发展起来的一类方法。二维区域的偏微分方程,当使用隐式差分方法格式求解时,形成的五对角方程组如果用高斯赛德尔迭代法、线松弛迭代等方法求解,工作量...
首先在对模糊熵方法本质分析的基础上 ,通过参数变换定义了一种新的最小化模糊准则 ,然后将差分演化 ( differential evolution, DE)算法与新模糊准则相结合用于快速、有效地获取最佳阈值 ,最后在真实红外人体图像上与...
研究了一种基于散度差准则的文本特征抽取方法。首先讨论了文本分类中特征降维的主要方法及其特点,然后分析了一种基于散度差的准则用于特征降维的原理和方法,从理论上对该方法的相关步骤进行了数学论证。在中文文本...
从自己的实际项目中抽取出来的一个升级的简单案例,适用于ARM Linux Qt 平台。
Java爬虫实例类说明如下: DownLoadFile 文件下载 ...MyCrawler 爬虫 ConsistentHash 一致性Hash ...compress 差分编码压缩 similarity 计算文档相似性 DocCluster kMeans实现的文档聚类 SVM 支持向量机实现的文档分类
背景差分法是实际中应用最广泛的前景检测方法,其关键是背景建模,比较常用的背景建模方法是高斯混合模型GMM(Gaussian Mixture Model)。最近一种称为视觉背景抽取算法ViBe(Visual Background extractor)由于其...
时域离散系统的网络结构及数字信号处理的实现 4.1 教材第5章学习要点 4.2 按照系统流图求系统函数或者差分方程 4.3 按照系统函数或者差分方程画系统流图 4.3.1 FIR中的线性相位结构 4.3.2 FIR中的频率采样结构 4.3.3...
然而,深度神经网络图像特征抽取方法目前也面临着诸多挑战,其有效性严重依赖大规模的数据,且通常被视汋黑盦模型,解释性较差。针对上述挑战,以基于模糊规则推理的TSK模糊系统(TSK-FS)为基础,提出了一种适用于...
• 单端和差分探测支持。 • 内置15英寸彩色触摸屏,分辨率1024 x 768 • 抽取式硬盘 • 10/100/1000 Base-T LAN 接口 • USB 2.0接口(总共6个,两个在前面,四个在后面) • 1个PCI扩展插槽 • 1个PCI Express x1...
LTC6101 用来从高共模电压中抽取小差分信号,然后加以放大并转换成以地为基准的信号。精确实现这一功能一般需要分立组件和运算放大器、差分放大器或仪表放大器。LTC6101 简化了这一任务,仅需采用 ThinSOTTM 封装...
LTC6101 用来从高共模电压中抽取小差分信号,然后加以放大并转换成以地为基准的信号。精确实现这一功能一般需要分立组件和运算放大器、差分放大器或仪表放大器。LTC6101 简化了这一任务,仅需采用 ThinSOTTM 封装的...
此款ADC支持带有IPGA的单端输入和低失真的差分输入,可通过引脚或寄存器控制。单端输入模式下其ADC的动态范围比AK4524提高了10dB,差分输入模式下的动态范围比AK4528提高了5dB。AK4620A支持DSD数据回放功能,其DAC...