我正在尝试打印每个查询,并使用此字符串从爆炸输出文件中仅用%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 -w
while ( <ARGV> ) {
next if /^#/;
@col = split /\t/;
print join "\t", $col[0], $col[1], $col[2], $col[-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
我还建议,对于单线而言,这是太多代码。将代码放在文件中将使其更易于阅读