Решено: Сравнение 2-х файлов

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

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

Аватара пользователя
SelF
Сообщения: 83

Решено: Сравнение 2-х файлов

Сообщение SelF »

Сравниваю два файла:

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

diff file1 file2 > result

file1 и file2 - список файлов в двух хранилищах. Длиной порядка 12 Мб каждый.
result - здесь должен быть список файлов, которые есть в первом, но отсутствуют во втором хранилище. Их порядка 10 000 штук

Проблема в том, что результирующий файл равен по объему исходному файлу и в нем записаны все файлы, а не те, которые отсутствуют.

Вопрос:
Как сравнить два файла и строки, которые различаются, записать в отдельный файл?

С уважением.
Спасибо сказали:
IMB
Сообщения: 2567
ОС: Debian

Re: Решено: Сравнение 2-х файлов

Сообщение IMB »

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

$ cat /tmp/1
blank.php
calc.php
change-status.php
contragent-naryad.php
contragent.php
database1.php
database2.php
database3.php
database4.php
database.php
edit1.php
edit2.php
edit3.php
edit4.php
edit.php
info.php
logout.php
main.php
menu.php
message.php
new1.php
new2.php
new3.php
new4.php
new5.php
new.php
new-zakaz.php
ready.php
remont1.php
remont2.php
remont3.php
remont4.php
remont-act.php
remont.php
search.php
sklad.php
stat1.php
stat2.php
stat.php
test.php
user.php
vector.php

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

$ cat /tmp/2
blank.php
calc.php
change-status.php
contragent-naryad.php
contragent.php
database1.php
database2.php
database3.php
database4.php
database.php

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

$ diff /tmp/1 /tmp/2 | awk '{print $2}' | grep -v ^$
edit1.php
edit2.php
edit3.php
edit4.php
edit.php
info.php
logout.php
main.php
menu.php
message.php
new1.php
new2.php
new3.php
new4.php
new5.php
new.php
new-zakaz.php
ready.php
remont1.php
remont2.php
remont3.php
remont4.php
remont-act.php
remont.php
search.php
sklad.php
stat1.php
stat2.php
stat.php
test.php
user.php
vector.php

Вопрос больше относится к Работа в командной строке
Спасибо сказали:
Аватара пользователя
KiWi
Бывший модератор
Сообщения: 2521
Статус: статус, статус, статус

Re: Решено: Сравнение 2-х файлов

Сообщение KiWi »

comm
Спасибо сказали:
Аватара пользователя
SelF
Сообщения: 83

Re: Решено: Сравнение 2-х файлов

Сообщение SelF »

IMB, ОГРОМНОЕ СПАСИБО!!!

P.S. Жаль что на форуме нет рейтингов - поставил бы по максимуму! :)
Спасибо сказали:
Аватара пользователя
deadhead
Сообщения: 1913
Статус: zzz..z

Re: Решено: Сравнение 2-х файлов

Сообщение deadhead »

зато есть кнопочка спасибо ;-)
[x] close
Спасибо сказали:
Аватара пользователя
SelF
Сообщения: 83

Re: Решено: Сравнение 2-х файлов

Сообщение SelF »

deadhead писал(а):
21.10.2009 11:18
зато есть кнопочка спасибо ;-)


Спасибо за "спасибо"!

:laugh:
Спасибо сказали:
Аватара пользователя
SelF
Сообщения: 83

Re: Решено: Сравнение 2-х файлов

Сообщение SelF »

Хм.. Странно.Сейчас запускаю ту же команду - в результате получаю склееный файл из двух сравниваемых:
diff f1 f2 | awk '{print $2}' | grep -v ^$ > diff_f

Что может быть не так?
Спасибо сказали:
Аватара пользователя
KiWi
Бывший модератор
Сообщения: 2521
Статус: статус, статус, статус

Re: Решено: Сравнение 2-х файлов

Сообщение KiWi »

SelF писал(а):
23.10.2009 01:46
Хм.. Странно.Сейчас запускаю ту же команду - в результате получаю склееный файл из двух сравниваемых:
diff f1 f2 | awk '{print $2}' | grep -v ^$ > diff_f

Что может быть не так?

Да сделайте уже comm -23 f1 f2 и получите строки, уникальные для f1.
Спасибо сказали:
Аватара пользователя
SelF
Сообщения: 83

Re: Решено: Сравнение 2-х файлов

Сообщение SelF »

comm -23 f1 f2 > dif

ls -la:
6656604 Oct 23 02:43 dif
6656604 Oct 22 17:09 f1
6993014 Oct 22 17:34 f2

не выводит :(
Спасибо сказали:
Аватара пользователя
KiWi
Бывший модератор
Сообщения: 2521
Статус: статус, статус, статус

Re: Решено: Сравнение 2-х файлов

Сообщение KiWi »

Что в f1 и f2?
Спасибо сказали:
Аватара пользователя
SelF
Сообщения: 83

Re: Решено: Сравнение 2-х файлов

Сообщение SelF »

KiWi писал(а):
23.10.2009 11:02
Что в f1 и f2?


список файлов из двух удаленных хранилищ вида s3://videos/0003E.mp4

задача стоит синхронизировать изменения в f1 для f2.
Спасибо сказали:
Аватара пользователя
KiWi
Бывший модератор
Сообщения: 2521
Статус: статус, статус, статус

Re: Решено: Сравнение 2-х файлов

Сообщение KiWi »

SelF писал(а):
23.10.2009 12:11
список файлов из двух удаленных хранилищ вида s3://videos/0003E.mp4

Каков вопрос -- такой и ответ: в файлах нет общих строк.
Спасибо сказали:
Аватара пользователя
SelF
Сообщения: 83

Re: Решено: Сравнение 2-х файлов

Сообщение SelF »

KiWi писал(а):
23.10.2009 12:27
SelF писал(а):
23.10.2009 12:11
список файлов из двух удаленных хранилищ вида s3://videos/0003E.mp4

Каков вопрос -- такой и ответ: в файлах нет общих строк.


В том-то и дело, что есть.
В хранилище 2 ранее были перекинуты файлы из хранилища 1
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5501
ОС: Gentoo

Re: Решено: Сравнение 2-х файлов

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

SelF писал(а):
23.10.2009 16:47
В том-то и дело, что есть.
В хранилище 2 ранее были перекинуты файлы из хранилища 1

А разве это означает наличие _полностью_ одинаковых строк? По идее, у этих строк одинаковыми должны быть только "хвосты", после последнего слэша.
Спасибо сказали: