Сравнение файлов grep[Решено]
Gentoo-начало 28 июля, 2009 - 10:57
Всем привет.
Есть файл со списком системы var_mass (все файлы ./).
Так же есть файл со списком того что перекачалось на другой диск var_disk.
Надо сравнить два этих файла,то чего нет в var_disk записать в файл var_uncp.
Сейчас это обрабатывается grep -v -f var_disk var_mass >> var_uncp.
Но дело в том что файлов много(1.5 Tb сам файл var_mass 59Mb ) и grep уже отожрал 12Gb RAM.И работает уже почти сутки.
Вот вопрос можноли провести выборку иначе?
»
- Для комментирования войдите или зарегистрируйтесь
man diff
Это специально для вашего случая. Сам недавно похожее делал.
что то странно. Делаю diff
что то странно.
Делаю diff --suppress-common-lines --text var_disk var_massiv >> var_uncp
du -h var_*
28M var_disk
49M var_massiv
79M var_uncp
Странно.Может подскажете с какие параметры?
Важно потом этот файл скормить cp
.
--left-column
(сначала посмотрев на вывод с опцией-y
).Ну и пошариться по возможным форматам вывода
diff
'а...В качестве одного из вариантов я бы посмотрел на
gawk
.:wq
--
Live free or die
diff -n
diff -n --suppress-common-line -a var_massiv var_disk >> var_uncp
du -h var_*
28M var_disk
49M var_massiv
27M var_uncp
А при просмотре строки в var_uncp и var_disk одинаковы
Вобщем похоже вот на это diff
Вобщем похоже вот на это
diff -y var_massiv var_disk | grep "<" | awk '{print $1}' >> var_uncp
Вобщем лучше всего
Вобщем лучше всего подошло
sort var_massiv > mass.sort && sort var_disk > disk.sort && comm -1 -3 disk.sort massiv.sort > comm.out