我試圖讓一個Perl的一行工作編輯:使用開始塊,而在地方用Perl一行代碼
$ perl -aln -F"\t" -i -e 'BEGIN{print qq(taxid:int:ncbitaxid\tname\tl:label)} print qq($F[0]\t$F[1]\trank,$F[2])' testing
用於測試的輸入文件看起來是這樣的:
1 root no rank
2 Bacteria superkingdom
6 Azorhizobium genus
7 Azorhizobium caulinodans species
9 Buchnera aphidicola species
10 Cellvibrio genus
11 [Cellvibrio] gilvus species
13 Dictyoglomus genus
14 Dictyoglomus thermophilum species
16 Methylophilus genus
所需的輸出看起來是這樣的:
taxid:int:ncbitaxid name l:label
1 root rank,no rank
2 Bacteria rank,superkingdom
6 Azorhizobium rank,genus
7 Azorhizobium caulinodans rank,species
9 Buchnera aphidicola rank,species
10 Cellvibrio rank,genus
11 [Cellvibrio] gilvus rank,species
13 Dictyoglomus rank,genus
14 Dictyoglomus thermophilum rank,species
16 Methylophilus rank,genus
我已經能夠使用這下面來重建,但我想在地方編輯,不打印到另一個文件。
perl -aln -F"\t" -e 'BEGIN{print qq(taxid:int:ncbitaxid\tname\tl:label)} print qq($F[0]\t$F[1]\trank,$F[2])' testing
你得到的錯誤是什麼? –
沒有錯誤 – altimit
然後...有什麼問題? –