文件对比
通常对比文件我们采用diff
命令,在shell脚本中,经常需要根据对比结果:相同或不同,做进一步处理。
使用diff
#!/bin/sh
if diff file1 file2 >/dev/null ; then
echo Same
else
echo Different
fi
使用cmp
cmp
和diff
都是diffutils工具包中的对比工具:cmp
是一个字节一个字节对比文件
cmp --silent $old $new || echo "files are different"
使用cksum
chk1=`cksum <file1> | awk -F" " '{print $1}'`
chk2=`cksum <file2> | awk -F" " '{print $1}'`
if [ $chk1 -eq $chk2 ]
then
echo "File is identical"
else
echo "File is not identical"
fi
对比输出文件的差异
如果要获得两个文件的差异内容使用如下方法
cat file1 file2 | sort | uniq -u
如果要获得两个文件的交集则使用
cat file1 file2 | sort | uniq -d
参考
Last updated
Was this helpful?