На самом деле это единственный раздел про unix на этом форуме
Модераторы: /dev/random , Модераторы разделов
bars
Сообщения: 1013
ОС: BSD/LINUX
Сообщение
bars » 28.09.2013 16:08
Добрый день.
Подскажите пожалуйста как лучше сравнить два файла.
Имеетются два файла с ип адресами и доменами.
Нужно сравнить первый файл о фторым, и получить индивидуальные данные от первого только.
На данный момент получается только получить индивидуальные данные с обоих файлов.
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
Подскажите пожалуйста чем лучше такую ситуацию разрулить?
/dev/random
Администратор
Сообщения: 5412
ОС: Gentoo
Сообщение
/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), в других не сработает.
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current
Сообщение
drBatty » 28.09.2013 17:40
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), в других не сработает.
ИМХО и в окружениях других можно заставить работать. Просто не будет удобных колдунств вроде <(...).
bars
Сообщения: 1013
ОС: BSD/LINUX
Сообщение
bars » 28.09.2013 18:31
/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
bars
Сообщения: 1013
ОС: BSD/LINUX
Сообщение
bars » 28.09.2013 18:47
diff --old-line-format=$'%l\n' --new-line-format='' --unchanged-line-format='' <(sort -u новый) <(sort -u старый)
недосмотрел этот варинат, в моем случае он подходит, спасибо.