У меня есть три CSV-файла, содержащие разные данные для общего объекта.Они представляют данные о различных коллекциях предметов на работе.Эти объекты имеют уникальные коды.Количество файлов не имеет значения, поэтому я решу эту проблему двумя.У меня есть удобный рецепт для объединения этих файлов с использованием join
, но чистящая часть убивает меня.
Файл Фрагмент - содержит уникальные данные.Также ошибка каталогизации E B
.
B 547
J 65
EB 289
E B 1
CO 8900
ZX 7
Фрагмент файла B - уникальные данные о различном измерении объектов.
B 5
ZX 67
SD 4
CO 76
J 54
EB 10
Обратите внимание, что файл B содержит не общий кодс файлом A.
Теперь я представляю вам «официальный» канон кодов, предназначенных для этого набора объектов:
B
CO
ZX
J
EB
Обратите внимание, что файл B содержит неканонический код с данными,Это должно быть зафиксировано и задокументировано.То же самое с неверным кодом в файле A.
Конечная цель: запустить тренд и статистику для коллекций, используя различные поля из нескольких отчетов.Они в основном соответствуют канону, но есть странности из-за ошибок каталогизации и кодов, которые больше не используются.
Конечный результат цели после слияния / объединения:
B 547 5
J 65 54
EB 289 10
CO 8900 76
ZX 7 67
Итак, моя первая идея былаиспользовать для этого grep -F -f
, используя канонические коды в качестве списка поиска, затем объединить с join
.Проблема в том, что с однобуквенными кодами это слишком много.Казалось бы, работа для awk
, где он может работать с tab
разделителями и REGEX
чудовищными кодами.Я не уверен, однако, как заставить awk
использовать список для просеивания других файлов.Один join
справится со всем этим?Может быть, я сливаюсь с join
или paste
, затем просеиваю чудаков?Какой метод является наименее хрупким и с большей вероятностью обрабатывает крайние случаи, как пьяный каталогизатор?
Если вы думаете: «Чувак, это лучше сделать с помощью Perl или Python ... и т. Д.».Я весь во внимании.Нет правил, мне просто нужно доставить!