本文记录下,曾经使用的sh脚本之一,时间太久忘完了,记录下。
#!/bin/bash
#
#example to use this script.
#source to_find_prop_files.sh ~/workspace/org_source_code/out ~/workspace/tsrc_code/out~/workspace/to_vrz_src_code/out
#arg1's src is contain main files more libs
#arg2's src is not contain vendor path.
#the result path is current path
#功能:比较参数1,2两个路径中到文件,把参数1路径多出到文件,按完整路径,拷贝到result目录下
#
dir="result"
dir1=$1
dir2=$2
if [ -e $dir ]; then
rm -rf $dir
echo "remove old result and create newer!"
mkdir $dir
touch $dir/same_path.log
touch $dir/props_files.log
else
echo "create result path!"
mkdir $dir
touch $dir/same_path.log
touch $dir/props_files.log
fi
function find_props(){
for element in `ls $1`
do
dir1_or_file=$1"/"$element
if [ -d $dir1_or_file ]; then
dir2_or_file=$2"/"$element
if [ -e $dir2_or_file ]; then
find_props $dir1_or_file $dir2_or_file
else
sub_path=$dir"/"$2
mkdir -p $sub_path
cp -rf $dir1_or_file $sub_path
echo "$dir1_or_file" >> $dir/props_files.log
fi
else
file2=$2"/"$element
if [ -e $file2 ]; then
echo "$file2" >> $dir/same_path.log
else
sub_path=$dir"/"$2
mkdir -p $sub_path
cp -rf $dir1_or_file $sub_path
echo "$dir1_or_file" >> $dir/props_files.log
echo "copy new files please wait..."
fi
fi
done
}
find_props $dir1 $dir2
保存为.sh即可。在linux系统下使用。
本文介绍了一个用于在Linux环境下比较并拷贝两个不同路径下文件的Bash脚本。该脚本能够识别两个目录间的差异,将第一个目录中独有的文件按完整路径拷贝至指定结果目录,并记录相同及差异文件的详细信息。
1034

被折叠的 条评论
为什么被折叠?



