我有一个巨大的文本数据文件(~100MB),它是一堆数据文件的串联,带有各种标题信息,然后是一些数据列。这就是问题所在。我想在每个数据集之前从标题信息中提取一个特定的数字,然后将其附加到数据中的另一列(并将该数据写到不同的文件中)。
我想要的标题信息格式为:BGA 1
对于那个额外的数据列,我想要的是 BGA 之后的#。这将是一个介于 1 到 20000 之间的数字。我可以编写正则表达式来提取 BGA 一词,但我似乎无法弄清楚如何获得它后面的数字。
为了增加额外的乐趣,文本“BGA 1”在每个数据部分重复两次。
这是我到目前为止所拥有的,实际上不起作用......我希望它每次遇到 BGA 这个词时至少打印“BGA”,但它什么也没打印......任何帮助将不胜感激。
#!/usr/bin/perl
use strict;
use warnings;
my $file = 'alldata.txt';
open my $info, $file or die "Could not open $file: $!";
$_="";
while(my $line = <$info>){
if ($line eq "/BGA/"){
print <>,"\n";
}
}
close $file;