#!/bin/bash
# @file for_diff.sh
# @author ymm
# @brief 比较不同目录下指定文件目录的差异
# @date 2014/2/28 16:18:10
# @History
# 1、2014/2/28 16:18:10 author ymm 初步完成
path_src=~/work/ymm/omc_account
path_desc=/opt/opthb/src/cpp/hla/account/omc_account
#只比较备份文件中的.cpp .h 和makefile文件,如需比较其他文件,可以指定
files=$(ls $path_src/*.cpp $path_src/*.h $path_src/makefile)
#files=$(ls $path_src/*)
for file in $files
do
filename=$(basename $file )
file_desc=${path_desc}/${filename}
diff ${file} ${file_desc} 1>/dev/null 2>&1 && result=0 || result=1
if [ "$result" == 1 ];then
echo "$filename is diff"
fi
done[billing_dx@bmcs1 shell]$ ls /account/work/ymm/shell/test/* /account/work/ymm/shell/test/for.sh /account/work/ymm/shell/test/run /account/work/ymm/shell/test/for_diff.sh /account/work/ymm/shell/test/while.sh [billing_dx@bmcs1 shell]$ ls /account/work/ymm/shell/test/ for.sh for_diff.sh run while.sh
可以看到,如果不加“*”的话,查看的文件都是不带路径的,这个时候再diff比较文件的话,比较的就是“path_src”目录下的文件,而是当前目录的了。希望大家注意。
自己的小打小闹,但是希望对大家有所帮助!
其实都是简单的操作,但是,我想着如果平常的一些很繁琐的事情都用shell脚本来实现的话,虽然不是一件多么有技术含量的事情,但我感觉这对于我自己来说,可以节省一些时间,而这样,我感觉就已经够了!努力学习进步ing!`
shell脚本之对比不同目录的下的文件,布布扣,bubuko.com
原文:http://blog.csdn.net/yang15225094594/article/details/20145529