#!/bin/bash
for commonfile in `find "$@" -maxdepth 1 -type f -name "*" -printf '%f\n' |
sort | uniq -c | sed -n "s/^ *$# //p"`
do
filelist=""
for targetdir in $@
do
filelist=$filelist" $targetdir/$commonfile"
done
output=`diff $filelist`
if [ $? -eq 1 ]
then
echo -e "== $commonfile ==\n"
echo -e "$output\n"
fi
done
diff -r?@alsotang 这个好像只能比较两个文件,不能比较两个文件夹下的相同文件,比如A文件夹下边有a.tex,b.txt,c.txt,B文件夹下边有a.tex,b.txt,c.txt。然后要分别比较A,B下边相同文件名的文件内容。是文件的具体内容。关键是如果文件数目比较少,还可以手工一对一对进行比较,但是如果数目文件数量很大的话,可能就不太容易了。
apt-get install meldmeld file-a file-bmeld 不错
http://meldmerge.org/
@fengxiaolong 不过这个命令好像在ppc64上不行呀。还是很感谢哈
可以写个bash脚本文件:
假设脚本文件名为
meld.sh,执行chmod +x meld.sh,添加执行权限。用法: meld.sh dir1 dir2 dir3 ...例如,
@wangxuq 这样的啊,嘻嘻,木有在那个平台上搞过滴~