Я пытаюсь преобразовать несколько строк списков значений с разделителями-запятыми в текстовый файл с использованием perl.Как преобразовать строки в один файл, используя таблицу преобразования в другой файл с perl на Mac?
Первый файл выглядит следующим образом:
A:25, B:14, C:3
A:25, E:5
B:14, D:8, E:5
второй файл с разделителями табуляции и выглядит следующим образом:
A:25 AS363
B:14 SDD645
C:3 KF8756
D:8 LFK4523
E:5 FSE523
идеально я хотел бы выход быть разделенный запятыми, как исходный файл, просто все конвертируется, поэтому вывод должен выглядеть следующим образом:
AS363, SDD645, KF8756
AS363, FSE523
SDD645, LFK4523, FSE523
Это i S мой код до сих пор:
#!/usr/bin/perl
use strict;
use warnings;
my $filename = $ARGV[0];
my $filename1 = $ARGV[1];
open(FILE, $filename);
while (my $line = <FILE>){
my @items = split /\s*,\s*/, $line;
foreach my $items (@items) {
#print "$items\n";
}
}
close FILE;
open(FILE1, $filename1);
while (my $line1 = <FILE1>)
{
my @ids = split /[\r\n\t]/,$line1;
#print "$ids[1]\n";
if (my $items==$ids[1]){
print "$ids[1]\n";
}
}
close FILE1;
, кажется, не в состоянии на данный момент, потому что $ пункты в первой части не глобальный ... если я продлить первый в то время как петля вокруг все, что не работает, либо, поэтому я не уверен, как это сделать. Я также отдельно как раз пытаюсь преобразовать обратно в запятую я предполагаю, я должен был бы использовать что-то вроде
join (",", ...)
, но это, кажется, не работает, либо ... Любые советы? Благодаря!
Вам нужен вывод для MATCH первого файла или просто LOOK, как первый файл? – fugu
Я думаю, что ответ есть оба? Я хочу совместить первый файл со вторым файлом, а затем конвертировать обратно в формат первого файла – user1637359