Я пытаюсь сравнить 2 разных конфигурационных каталога apaches. Но я хочу избежать разницы между версиями. Например, я собираюсь сравнить между 2.2.20 и 2.2.21.diff игнорировать комментарий
Это то, что я до сих пор:
#!/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 каталога конфигурации. Вы можете найти версию apache в файле httpd.conf. Но идея состоит в том, чтобы игнорировать версию во всех сравнениях.
Добавление комментария 2. Тест и test2 являются каталогами, они не являются файлами. В 2 каталогах вы можете найти все конфигурационные файлы для apache. Более или менее это: + дополнительные + httpd.conf + httpd.conf_20110215 + магия + mime.types + оригинальные + ssl.crt + ssl.key + Темп
Благодаря
Где версия в файлах? –
Можете ли вы показать нам содержимое ваших 'test' и' test2' файлов? –
дублированный вопрос. см. ответ здесь: http://unix.stackexchange.com/questions/17040/how-to-diff-files-ignoring-comments-lines-starting-with – RNA