Я выполняю большую миграцию данных между двумя файловыми системами (назовем их F1 и F2) в системе Linux, что обязательно потребует точного копирования данных в иерархию с различной структурой на F2 и изменение имен файлов.
Я хотел бы написать скрипт для генерации списка файлов, которые находятся в F1, но не в F2, то есть тех, которые не были скопированыСкрипт миграции в новую иерархию, так что я могу вернуться и перенести их вручную.К сожалению, по причинам, не заслуживающим внимания, скрипт миграции не может быть изменен, чтобы вывести список файлов, которые он не переносит.Мой вопрос отличается от , на который ранее был дан ответ , из-за того, что я не могу полагаться на имена файлов в качестве сравнения.
Я знаю, что основная схема процесса будет такой:
- Создайте список контрольных сумм для всех файлов, повторяя через F1
- Сделайте то же самое для F2
- Сравните списки и сгенерируйте отрицательное пересечение контрольных сумм, игнорируя имена файлов,чтобы найти файлы, которые являются в F1, но не в F2.
Я немного застрял, пройдя этот этап, поэтому я был бы признателен за любые указания, какие инструменты использовать,Я думаю, что мне нужно использовать команду 'comm', чтобы сравнить список контрольных сумм файлов, но так как md5sum , sha512sum и т.п., поместите имя файла рядом с контрольной суммой, я могуНе вижу способа, чтобы это принесло мне полезное сравнение.Может быть, awk это путь?
Я использую Red Hat Enterprise Linux 5.x.
Спасибо.