我正在尝试比较2个不同的apaches配置目录。 但我想避免版本之间的差异。例如,我将在2.2.20和2.2.21之间进行比较。
这是我到目前为止所做的:
#!/bin/ksh
source=/root/daniel/scripts/test
dest=/root/daniel/scripts/test2
# TODO: rewrite as awk script
delta=`diff -ur $source $dest`
deleted=`echo "$delta" | grep "^Only in ${source}:" | sed "/^Only in ${source}: //"`
added=`echo "$delta" | grep "^Only in ${dest}:" | sed "/^Only in ${dest}: //"`
changed=`echo "$delta" | grep '^\+\+\+' | awk '{print $2}'`
print "Files deleted in destination"
echo $deleted
print "Files Added in destination"
echo $added
print "Files Changed in destination"
echo $changed
添加评论。 基本上,我要比较2个配置目录。您可以在httpd.conf文件中找到apache版本。但我们的想法是忽略所有比较中的版本。
添加评论2。 test和test2是目录,它们不是文件。在2个目录中,您可以找到apache的所有配置文件。 或多或少这个: +额外的 + httpd.conf + httpd.conf_20110215 +魔法 + mime.types +原创 + ssl.crt + ssl.key + temp
由于
答案 0 :(得分:1)
使用diff中的-I
选项忽略这些行。
来自man diff
-I RE --ignore-matching-lines = RE
Ignore changes whose lines all match RE.