如何使用diff在linux下比较两个文件夹下相同文件的内容。请各位大哥大姐指教。。。
8 回复
@alsotang 这个好像只能比较两个文件,不能比较两个文件夹下的相同文件,比如A文件夹下边有a.tex,b.txt,c.txt,B文件夹下边有a.tex,b.txt,c.txt。然后要分别比较A,B下边相同文件名的文件内容。是文件的具体内容。关键是如果文件数目比较少,还可以手工一对一对进行比较,但是如果数目文件数量很大的话,可能就不太容易了。
可以写个bash脚本文件:
#!/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