Сравнить файл и вывести разницу первого. (нужно получить разницу первого ко второму)

На самом деле это единственный раздел про unix на этом форуме

Модераторы: /dev/random, Модераторы разделов

Ответить
Аватара пользователя
bars
Сообщения: 930
ОС: BSD/LINUX
Контактная информация:

Сравнить файл и вывести разницу первого.

Сообщение bars »

Добрый день.
Подскажите пожалуйста как лучше сравнить два файла.
Имеетются два файла с ип адресами и доменами.
Нужно сравнить первый файл о фторым, и получить индивидуальные данные от первого только.
На данный момент получается только получить индивидуальные данные с обоих файлов.
diff $DIS.ip $DIS.ip.old | egrep -o "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}" | sort | uniq -u

Подскажите пожалуйста чем лучше такую ситуацию разрулить?
Настройка BSD систем
Знание сила, незнание Рабочая сила!
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5288
ОС: Gentoo

Re: Сравнить файл и вывести разницу первого.

Сообщение /dev/random »

diff --old-line-format=$'%l\n' --new-line-format='' --unchanged-line-format='' <(sort -u новый) <(sort -u старый)

Требует окружение GNU (coreutils и bash), в других не сработает.
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current
Контактная информация:

Re: Сравнить файл и вывести разницу первого.

Сообщение drBatty »

bars писал(а):
28.09.2013 16:08
Нужно сравнить первый файл о фторым, и получить индивидуальные данные от первого только.

ну если вам нужна теория, а не готовое решение, то http://emulek.tk/sed/ch04.html

если готовое, то мне лениво. И да, в job. (:

/dev/random писал(а):
28.09.2013 16:47
diff --old-line-format=$'%l\n' --new-line-format='' --unchanged-line-format='' <(sort -u новый) <(sort -u старый)

Требует окружение GNU (coreutils и bash), в других не сработает.

ИМХО и в окружениях других можно заставить работать. Просто не будет удобных колдунств вроде <(...).
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
bars
Сообщения: 930
ОС: BSD/LINUX
Контактная информация:

Re: Сравнить файл и вывести разницу первого.

Сообщение bars »

/dev/random писал(а):
28.09.2013 16:47
diff --old-line-format=$'%l\n' --new-line-format='' --unchanged-line-format='' <(sort -u новый) <(sort -u старый)

Требует окружение GNU (coreutils и bash), в других не сработает.

Спасибо но.
Вы мне предложи вариант по сути такойже как и у меня. Только средсвоми diff
Настройка BSD систем
Знание сила, незнание Рабочая сила!
Спасибо сказали:
Аватара пользователя
bars
Сообщения: 930
ОС: BSD/LINUX
Контактная информация:

Re: Сравнить файл и вывести разницу первого.

Сообщение bars »

diff --old-line-format=$'%l\n' --new-line-format='' --unchanged-line-format='' <(sort -u новый) <(sort -u старый)
недосмотрел этот варинат, в моем случае он подходит, спасибо.
Настройка BSD систем
Знание сила, незнание Рабочая сила!
Спасибо сказали:
Ответить