The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Сравнение данных в двух потоках ввода"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [ Отслеживать ]

"Сравнение данных в двух потоках ввода"  
Сообщение от IGX on 20-Апр-09, 15:42 
Всем привет! Задача. Есть два огромных двоичных файла (~500 ГБ). В общем случае файлы могут быть упакованы разными архиваторами или одним и тем же, но с разными параметрами сжатия. Однако эти гига-файлы с большой долей вероятности одинаковы или почти одинаковы. Как без распаковки на жесткий диск сравнить два файла в архивах. Подобная задача встает часто. Система Linux.

Мысли.

Можно было бы использовать команду cmp для сравнения примерно так:
gunzip -c file1.gz | cmp file2
Однако в этом случае требуется, чтобы хотя бы один файл был распакован, что неприемлемо из-за огромных объемов данных.

Можно ли как-то организовать второй поток ввода и передать его команде cmp?

Может быть, можно создать виртуальный файл (virtfile2), при обращении к которому происходила бы автораспаковка архива file2.gz (т.е. gunzip -c file2.gz)?

Какие у кого есть мысли по этому поводу?

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Сравнение данных в двух потоках ввода"  
Сообщение от Andrey Mitrofanov on 20-Апр-09, 16:23 
>Можно было бы использовать команду cmp для сравнения примерно так:
>gunzip -c file1.gz | cmp file2
>Однако в этом случае требуется, чтобы хотя бы один файл был распакован,
>что неприемлемо из-за огромных объемов данных.

На _bash_-е:
cmp <( zcat file1.gz ) <( zcat file2.gz )

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Сравнение данных в двух потоках ввода"  
Сообщение от IGX on 20-Апр-09, 16:37 
>На _bash_-е:
>cmp <( zcat file1.gz ) <( zcat file2.gz )

Спасибо!

Более длинный путь:
mkfifo fifo
zcat file1.gz > fifo
zcat file2.gz | cmp fifo

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру