使用diff比较

Linux下的diff命令是一个相当好用的命令,它可以用于比较两个 文件目录

最常见的选项有-c, -r, -i:

diff
1
2
3
diff  -c  file1  file2                #-c给我的感觉是更加好看 ^_^

diff  -c  -i  file1  file2           #忽略大小写

对于想要比较两个文件夹下的差异时,同样可以使用如下命令(这里会对比相同文件的内容以及列出文件的差异)

diff
1
diff  -c  dir1  dir2

对于多级目录可以使用-r参数进行递归对比

diff
1
diff  -c  -r  dir1  dir2

除此之外还有控制对比文件的一些参数,详细地可以通过man diff来查看。

之前不知道diff可以比较文件夹….都是用过写shell脚本来控制比较的,还是 too young,  too simple 了,下面给出一个小代码:

比较dir1与dir2下指定的子文件夹的所有文件
1
2
3
4
5
6
7
8
9
10
11
12
#!/bin/bash

dir1='/dir1'
dir2='/dir2'

for cdir in c_dir1 c_dir2 c_dir3; do
    for i in `ls $cdir` ;do
        if [[ $i != '.' && $i != '..' ]]; then
            diff $dir1/$cdir/$i $dir2/$cdir/$i
        fi
    done
done

Comments