LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1108|回复: 2

diff 命令怎么用啊

[复制链接]
发表于 2007-7-6 16:17:37 | 显示全部楼层 |阅读模式
我现在要写脚本比较二文件夹下的文件内容,保留不相同的文件。
我是这样写的,但运行到diff处就出错,我应该怎么改,谢谢!
INDIR=input
OPT="./opt.exe"
REF="./ref.exe"
OUTDIR=output
OUTDIR1=output1
ls $INDIR > temp_list.ini
aa="`cat temp_list.ini`"
for var in $aa; do
$OPT $INDIR/$var $OUTDIR/$var
$REF $INDIR/$var $OUTDIR1/$var
if [ diff $OUTDIR/$var $OUTDIR1/$var ]; then
        mv $OUTDIR/$var
        mv $OUTDIR1/$var
break
fi
done
发表于 2007-7-6 21:04:37 | 显示全部楼层
diff是比较文本文件的内容的

如果是比较两个目录下的文件的内容是否相同(可能文件名不相同,可能是文本或者二进制文件)

也许用md5sum对每个文件计算散序比较好
md5sum 目录1/* 2>/dev/null
将计算目录1下面所有文件的散列值

同样,你也可以计算目录2下面的文件的散列值,将它们保存到文件中,然后对这两个文件进行比较,应该就可以找到相同的文件了

当然,如果是两个目录下有相同文件名的重复文件,那么就比较简单了
回复 支持 反对

使用道具 举报

发表于 2007-7-7 03:12:53 | 显示全部楼层
没仔细看你的脚本,不过 diff 那句不要加 []。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表