将特定下划线匹配并替换为shell中的选项卡

时间:2017-07-04 22:52:55

标签: regex string shell

我想从文件中替换特定的下划线并将其替换为选项卡。问题是我有很多下划线,当我尝试使用tr时,所有下划线都被标签取代。以下是文件格式的示例:

Arabidopsis_thaliana_TRANSCRIPT_NM1000_c5_g4_i1
Arabidopsis_thaliana_TRANSCRIPT_NM2530_c1_g1_i1
Arabidopsis_lyrata_TRANSCRIPT_NM10000_c2_g2_i2
Oriza_sativa_TRANSCRIPT_NM43000_c1_g2_i4
Oriza_sativa_TRANSCRIPT_NM31000_c2_g1_i1

我想要的输出如下:

Arabidopsis_thaliana    TRANSCRIPT_NM1000_c5_g4_i1
Arabidopsis_thaliana    TRANSCRIPT_NM2530_c1_g1_i1
Arabidopsis_lyrata     TRANSCRIPT_NM10000_c2_g2_i2
Oriza_sativa     TRANSCRIPT_NM43000_c1_g2_i4
Oriza_sativa     TRANSCRIPT_NM31000_c2_g1_i1

任何帮助将不胜感激,

最佳。

1 个答案:

答案 0 :(得分:0)

您可以使用sed。如果您的文字位于test.txt,请尝试以下操作:

$ sed -i.bak "s/_TRANSCRIPT/$(echo '\t')TRANSCRIPT/g" test.txt