diff игнорировать комментарий - PullRequest
0 голосов
/ 07 января 2012

Я пытаюсь сравнить 2 разных каталога конфигурации Apache. Но я хочу избежать разницы между версиями. Например, я собираюсь сравнить между 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 каталога конфигурации. Вы можете найти версию apache в файле httpd.conf. Но идея состоит в том, чтобы игнорировать версию во всем сравнении.

Добавление комментария 2. Тест и test2 - это каталоги, а не файлы. В двух каталогах вы можете найти все файлы конфигурации для Apache. Более или менее это: + дополнительно + httpd.conf + httpd.conf_20110215 + магия + mime.types + оригинал + ssl.crt + ssl.key + темп

Спасибо

1 Ответ

1 голос
/ 07 января 2012

Используйте параметр -I в diff, чтобы игнорировать строки.

С man diff

-I RE --ignore-Matching-lines = RE

      Ignore changes whose lines all match RE.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...