Мне нужно сравнить chksum (NUM1 и NUM2) между file1 и file2 (см. Пример ниже)
- Первое поле в файле1 или файле2 - это путь к файлу
- Второе поле в файле1 или файле2 - это первая chksum
- Третье поле в file1 или file2 - это вторая chksum
Цель - прочитать из файла1 первое поле (путь к файлу) и проверить, существует ли этот путь в файле2
Если путь к файлу существует в файле2, необходимо сравнить числа chksum между файлом1 и файлом2
Если chksum равен, то нужно записать путь к файлу + числа chksum в файле equal.txt
иначе, если chksum не равен, нужно записать путь к файлу + номера chksum в файле not_equal.txt
- примечание (если путь к файлу из файла1 не существует в файле2, необходимо записать путь к файлу в файле not_exist.txt)
Мне нужно сделать это для всех путей к файлам в file1 до EOF
Вопрос: Может ли кто-нибудь иметь для этого умный Perl-скрипт?
File1
NUM1 NUM2
/lib/modules/2.6.18-128.el5PAE/kernel/drivers/block/cpqarray.ko 1317610 32
/lib/modules/2.6.18-128.el5PAE/kernel/drivers/block/cryptoloop.ko 320619 9
/lib/modules/2.6.18-128.el5PAE/kernel/drivers/block/DAC960.ko 20639107 6
/lib/modules/2.6.18-128.el5PAE/kernel/drivers/block/floppy.ko 9547813 71
/lib/modules/2.6.18-128.el5PAE/kernel/drivers/block/loop.ko 2083034 23
/lib/modules/2.6.18-128.el5PAE/kernel/drivers/block/nbd.ko 6470230 18
/data/libc-2.5.so 55861 1574
/bin/libcap.so.1.10 03221 12
/var/libcidn-2.5.so 31744 188
/etc/libcom_err.so.2.1 40247 8
.
.
.
File2
NUM1 MUM2
/lib/modules/2.6.18-128.el5PAE/kernel/drivers/block/cpqarray.ko 541761 232
/lib/modules/2.6.18-128.el5PAE/kernel/drivers/block/cryptoloop.ko 224619 9
/lib/modules/2.6.18-128.el5PAE/kernel/drivers/block/DAC960.ko 06391 73
/lib/modules/2.6.18-128.el5PAE/kernel/drivers/block/floppy.ko 54081 71
/lib/modules/2.6.18-128.el5PAE/kernel/drivers/block/loop.ko 08307 23
/lib/modules/2.6.18-128.el5PAE/kernel/drivers/block/nbd.ko 470275 58
.
.
.
.
.