从爆炸输出打印命中和得分

时间:2018-08-03 20:24:07

标签: perl

我正在尝试打印每个查询,并使用此字符串从爆炸输出文件中仅用%id和分数进行命中

perl -we 'while (<>) {next if /^#/; @col = split /\t/; print join "\t", $col[0], $col[1], $col[2], $col[-1]}' SZ_vs_Self_20160510_2.txt >PROCESSED_SZ_vs_Self_20160510_2.txt

但是我得到这个评论

  

>这一次出乎意料

所需的Perl代码

#!perl -w

while ( <ARGV> ) {
    next if /^#/;
    @col = split /\t/;
    print join "\t", $col[0], $col[1], $col[2], $col[-1];
}

1 个答案:

答案 0 :(得分:3)

猜测您正在使用Windows cmd提示符。您需要在代码两边加上双引号,而不是单引号

perl -we "while (<>) {next if /^#/; @col = split /\t/; print join qq/\t/, $col[0], $col[1], $col[2], $col[-1]}" SZ_vs_Self_20160510_2.txt > PROCESSED_SZ_vs_Self_20160510_2.txt

我还建议,对于单线而言,这是太多代码。将代码放在文件中将使其更易于阅读