我有一个看起来像一个文件:命令行的Perl:分割字符串修改第一部分
SNP Al1 Al2 Freq1 MAF AvgCall Rsq Genotyped LooRsq EmpR EmpRsq Dose1 Dose2
20:60479 C C 1.00000 0.00000 1.00000 0.00000 - - - - - -
20:60522:T_TC R R 1.00000 0.00000 1.00000 0.00000 - - - - - -
20:60571 C C 1.00000 0.00000 1.00000 0.00000 - - - - - -
20:60795 G C 0.99627 0.00373 0.99627 0.02668 - - - - - -
....
我想改变这种状况看起来像
20:60522:T_TC R R 1.00000
到相同格式的条目为各行的其余部分,即
20:60522 R R 1.00000
我试图通过分割字符串做蟒蛇的方式,改变的预防部分,然后将其添加到行并打印行。我该怎么做呢?
这里(的许多事情之一),所以到目前为止,我曾尝试:从线
perl -wnl -e '@lines = split $_; print lines[0]' testrun
,并使阵列,然后拿到第一项(也就是,我一直没能捕捉到的部分我倒是希望尚未修改。)
问题是,这将返回
print() on unopened filehandle lines at -e line 1, <> line 1. etc
聚苯乙烯。将放弃任何解决我的问题的解决方案。我知道有些解决方案可以用类似sed的模式更改字符串,但我无法让它们工作。