У меня есть два файлаНайти строку в один файл и добавить его часть на соответствующую строку в другой файл
первый:
8237764738; 00: 78: 9E: EE: CA: 6F; FTTH; MULTI
8237764738; 2C: 39: 96: 52: 47: 82; FTTH; MULTI
0415535921; Е8: BE: 81: 86: F1: 6F; FTTH; МУЛЬТИ
0415535921; 2C: 39: 96: 5B: 12: С6; EZ; ОДНОГО
... и т.д.
второй:
00: 78: 9E: EE: CA: 6F; 2013/10/28 13:37:50
Е8: BE: 81: 86: F1: 6F; 2013/11/05 13:38 : 30
00: 78: 9E: EC: 4A: B0; 2013/10/28 13:59:16
2C: E4: 12: AA: F7: 95; 2013/10/31 13:57:55
... и т.д.
, и я должен взять mac_address (вторая позиция) из первого файла и найти его во втором и добавить (если матч) к первому файлу дату в конце из второго файла.
выход:
8237764738;00:78:9E:EE:CA:6F;FTTH;MULTI;2013/10/28 13:37:50
0415535921;E8:BE:81:86:F1:6F;FTTH;MULTI;2013/11/05 13:38:30
написать простой скрипт, чтобы найти mac_address , но я не знаю, как поставить в сценарий, чтобы добавить дату.
my %iptv;
my @result;
open IN, "/home/terminals.csv";
while (<IN>) {
chomp;
@wynik = split(/;/,$_);
$iptv{$result[1]} = $result[0];
}
close IN;
open IN, "/home/reboots.csv";
open OUT, ">/home/out.csv";
while (<IN>) {
chomp;
my ($mac, $date) = split(/;/,$_);
if (defined $iptv{$mac})
{
print OUT "$date,$mac \n";
}
}
close IN;
close OUT;
Я читал ваше описание пару раз, и я не могу понять это. Я понимаю, что в обоих файлах есть адреса mac, и они совпадают. Вы просто хотите добавить данные из первого файла во второе соответствие по адресу mac?Или первое поле в первом файле представляет собой какую-то кодированную дату? – Vorsprung
Можете ли вы показать пример того, каким должен быть конечный результат? – Cfreak
Насколько велики эти два файла? Просто мегабайты (или меньше), или гигабайты, или что? Являются ли номера MAC в первом файле уникальными или один и тот же номер MAC появляется дважды? Предполагая, что заданный номер MAC появляется более одного раза во втором файле (они, кажется, время перезагрузки, и машины могут быть перезагружены много раз), какое значение должно быть напечатано с данными из первого? Один раз для каждого матча, или только первый, или только последний или какой-либо другой критерий? –