и целого diff-a мало... ((shell scripting))

Для новичков как вообще в Linux, так и в конкретной теме, к которой относится вопрос.

Модератор: Bizdelnick

Аватара пользователя
agent-mega
Сообщения: 505
Статус: Автономный модуль

и целого diff-a мало...

Сообщение agent-mega »

Вообщем надо сравнить file1 с file2 и вывести лишь те строки из file1, которые отличаются от соответствующих строк в file2. Прочитав man diff, я понял, что он на это не способен.
Какие будут идеи? :rolleyes:
DEBIAN & DEBIAN-BASED ONLY

Всё относительно. Объективности не существует.
Спасибо сказали:
Аватара пользователя
Portnov
Модератор
Сообщения: 1786
Статус: Матёрый линуксоид
ОС: Debian testing/unstable

Re: и целого diff-a мало...

Сообщение Portnov »

Ну если опции такой точно нету, то

Код: Выделить всё

diff file1 file2 | egrep '^>'
Работа: Ubuntu 9.10
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
Спасибо сказали:
Аватара пользователя
agent-mega
Сообщения: 505
Статус: Автономный модуль

Re: и целого diff-a мало...

Сообщение agent-mega »

Спасибо, не обратил внимание на дефолтный формат вывода diff =)

ЗЫ. А символ ^ зачем? Без него - то же самое :)
DEBIAN & DEBIAN-BASED ONLY

Всё относительно. Объективности не существует.
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: и целого diff-a мало...

Сообщение sash-kan »

> А символ ^ зачем? Без него - то же самое
то же самое - пока во втором файле не встретится строка, содержащая '>'.
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
madskull
Сообщения: 1019
Статус: Экс-металлюга

Re: и целого diff-a мало...

Сообщение madskull »

comm
ArchLinux / IceWM
Спасибо сказали:
Аватара пользователя
t.t
Бывший модератор
Сообщения: 7390
Статус: думающий о вечном
ОС: Debian, LMDE

Re: и целого diff-a мало...

Сообщение t.t »

madskull писал(а): ↑
12.01.2006 19:39
comm
Выделение моё:

Код: Выделить всё

comm - compare two _sorted_ files line by line
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Спасибо сказали:
Аватара пользователя
madskull
Сообщения: 1019
Статус: Экс-металлюга

Re: и целого diff-a мало...

Сообщение madskull »

t.t писал(а): ↑
12.01.2006 19:53
madskull писал(а): ↑
12.01.2006 19:39
comm
Выделение моё:

Код: Выделить всё

comm - compare two _sorted_ files line by line


а что мешает сделать
comm <(sort file1) <(sort file2)
?
ArchLinux / IceWM
Спасибо сказали:
Аватара пользователя
t.t
Бывший модератор
Сообщения: 7390
Статус: думающий о вечном
ОС: Debian, LMDE

Re: и целого diff-a мало...

Сообщение t.t »

madskull писал(а): ↑
12.01.2006 19:58
t.t писал(а): ↑
12.01.2006 19:53
madskull писал(а): ↑
12.01.2006 19:39
comm
Выделение моё:

Код: Выделить всё

comm - compare two _sorted_ files line by line
а что мешает сделать
comm <(sort file1) <(sort file2)
?
Возможно, желание видеть отфильтрованные строки в том же порядке, в котором они идут в оригинальном файле.
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: и целого diff-a мало...

Сообщение sash-kan »

таки можно одним diff'ом обойтись (если я правильно понял назначение этих опций):
diff --unchanged-group-format='' --changed-group-format='%<' file1 file2
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
agent-mega
Сообщения: 505
Статус: Автономный модуль

Re: и целого diff-a мало...

Сообщение agent-mega »

sash-kan писал(а): ↑
12.01.2006 20:31
таки можно одним diff'ом обойтись (если я правильно понял назначение этих опций):
diff --unchanged-group-format='' --changed-group-format='%<' file1 file2

Браво, милорд! ОНО работает. :P

Мда, надо вдумчивее читать маны, вдумчивее.
DEBIAN & DEBIAN-BASED ONLY

Всё относительно. Объективности не существует.
Спасибо сказали:
Аватара пользователя
t.t
Бывший модератор
Сообщения: 7390
Статус: думающий о вечном
ОС: Debian, LMDE

Re: и целого diff-a мало...

Сообщение t.t »

sash-kan писал(а): ↑
12.01.2006 20:31
таки можно одним diff'ом обойтись (если я правильно понял назначение этих опций):
diff --unchanged-group-format='' --changed-group-format='%<' file1 file2
Хм.. А у меня в мане нет таких. diff 2.8.1. Сейчас попробую обновить для интересу.
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Спасибо сказали:
Аватара пользователя
agent-mega
Сообщения: 505
Статус: Автономный модуль

Re: и целого diff-a мало...

Сообщение agent-mega »

Слушайте, а у меня тоже нету! :angry: И тоже 2.8.1 ...

Хотя читал я воообще русский ман на гентушном вики - там есть, так что мне всё равно нужно учится читать внимательнее :D
DEBIAN & DEBIAN-BASED ONLY

Всё относительно. Объективности не существует.
Спасибо сказали:
Аватара пользователя
t.t
Бывший модератор
Сообщения: 7390
Статус: думающий о вечном
ОС: Debian, LMDE

Re: и целого diff-a мало...

Сообщение t.t »

agent-mega писал(а): ↑
12.01.2006 21:51
Слушайте, а у меня тоже нету! :angry: И тоже 2.8.1 ...
Есть оно там, просто changed и unchanged -- это имена групп, а в мане сама опция описана как --GTYPE-group-format=GFMT.
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Спасибо сказали: