我写的是 bash shell的脚本。 用一个递归函数来搜索两个目录下不同的文件。
实际上我是用它来检测优化后程序的输出结果的。拿出来写在这里,也许你也可以用。
1.代码
#!/bin/bash
# check_dirs.sh
check_files() {
local FISRTDIR=$1
local SECONDDIR=$2
local FILES=`ls $FISRTDIR/ -Al | grep -vE "^[dl]" | awk '{print $9}'`
local i
for i in $FILES
do
echo $FISRTDIR/$i
diff $FISRTDIR/$i $SECONDDIR/$i 1>/dev/null 2>&1
if [ $? -ne 0 ]
then
echo "vimdiff $FISRTDIR/$i $SECONDDIR/$i"
#vimdiff $FISRTDIR/$i $SECONDDIR/$i
fi
done
}
check_dirs()
{
local FISRTDIR=$1
local SECONDDIR=$2
local i
check_files $FISRTDIR $SECONDDIR
DIRS=`ls $FISRTDIR/ -Al | grep -E "^d" | awk '{print $9}'`
for i in $DIRS
do
check_dirs $FISRTDIR/$i $SECONDDIR/$i
done
}
2.使用方法
[]$ source ./check_dirs.sh
[]$ check_dirs dir1 dir2
他就会输出不同的文件了。
试试吧。挺好用的。
linux批量转换整个目录下的文件编码为UTF-8:http://www.linuxdiyf.com/linux/14592.html
Ubuntu用shell脚本实现将当前目录下所有目录中的某一类文件拷贝:http://www.linuxdiyf.com/linux/12835.html