Доступ к повторяющимся значениям в строке с использованием perl - PullRequest
0 голосов
/ 11 января 2019

Я очень новичок в Perl, и я столкнулся со следующей проблемой,

У меня есть текстовый файл, содержащий значения разных строк, например. ExAC_SAS = 1; слово = 0,01 ; ExAC_EAS = 0; ExAC_FIN = 1; ExAC_NFE = 0; слово = 0,0136 ;

И я хочу добавить оба значения в массив.

Я попытался перебрать файлы и добавил значения в массив, и он работает хорошо, но он добавляет только первое значение, а не второе.


    while ($line=<IN>)
    { chop $line; @result=();
    @arr=split('\t', $line);

    if ($arr[7]=~/word=(.*?);/) {push (@result,$1);}

Я хочу, чтобы мой массив @result имел следующие значения: 1,0.01,0,1,0,0.136

Спасибо,

1 Ответ

0 голосов
/ 11 января 2019

используйте это cli:

 perl -lne 'push @a,/=(.*?)\;/g;END{print "@a"}' your_file

Тест ниже:

$ cat temp
C_SAS=1;word=0.01;ExAC_EAS=0;ExAC_FIN=1;ExAC_NFE=0;word=0.0136;
$ perl -lne 'push @a,/=(.*?)\;/g;END{print "@a"}' temp
1 0.01 0 1 0 0.0136
$
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...