Как использовать bzdiff для нахождения различия между 2 bzipped файлами с разностью-I опцией?

Это - групповые адреса. Групповые адреса используются, когда единственный пакет предназначается, чтобы быть отправленным нескольким получателям. Отошлите к http://www.iana.org/assignments/multicast-addresses/ для списка сервиса, чему обычно соответствует каждый адрес.

0
задан 12 March 2011 в 00:27
3 ответа

Я нашел решение этой проблемы. Парсинг опций и представление к разности были сделаны неправильно bzdiff; пространство было добавлено перед первой опцией, которая, кажется, подбрасывает вещи в воздухе...

Я сделал следующие модификации к bzdiff:

$ diff bzdiff_orig /bin/bzdiff 
27c27,31
<     -*)   OPTIONS="$OPTIONS $ARG";;
---
>     -*)   if test -z "$OPTIONS"; then
>       OPTIONS="$ARG"
>         else
>             OPTIONS="$OPTIONS $ARG"
>         fi ;;
57c61
<                         bzip2 -cdfq "$1" | $comp $OPTIONS - "$tmp"
---
>                         bzip2 -cdfq "$1" | $comp "$OPTIONS" - "$tmp"

С измененным кодом разность продолжается как ожидалось:

$ bzdiff -I"Dump completed" tmp?.bz2
$ bzdiff -I"This should not match" tmp?.bz2
9c9
< -- Dump completed on 2011-03-11  1:06:50
---
> -- Dump completed on 2011-03-11  0:40:11

Я пошлю bzip разработчику по электронной почте для регистрации отчета об ошибках.

0
ответ дан 5 December 2019 в 17:14

В этой точке я разочаровался бы в пробелах и использовал бы Dump.completed так, чтобы. соответствует пространству (так как это - regex).

Bash лишает слой кавычек каждый раз, когда он оценивает аргумент, а также лишение слоя кавычек от того, что Вы ввели при ударе возврата. Начиная с этого case оператор настаивает, чтобы опция запустилась с - необходимо будет попробовать что-то как "-'\"IDump completed\"'" так, чтобы bzdiff был выполнен с аргументом -'"IDump completed"' который должен быть вставлен в строку $OPTIONS как -"IDump completed" который должен привести к разности, выполняемой с -IDump completed как отдельный аргумент вместо двух слов.

0
ответ дан 5 December 2019 в 17:14

Никакой объем заключения в кавычки не поможет с этим; заключение в кавычки происходит на неправильном уровне. bzgrep -e -I'Dump completed' или bzgrep -- -I'Dump completed' должен работать.

0
ответ дан 5 December 2019 в 17:14

Теги

Похожие вопросы