我有什么应该是一个简单的问题,但是我缺乏awk知识让我失望。在使用awk的fasta头文件中的分隔符后保留文本
我想清理FASTA文件,它是在这种格式的标头:
>HWGG454_Clocus2_Locus3443_allele1
ATTCTACTACTACTCT
>GHW757_clocus37_Locus555662_allele2
CTTCCCTACGATG
>TY45_clocus23_Locus800_allele0
TTCTACTTCATCT
我想清理每个报头(开头的行“>”)只保留信息部分,这是第二个“_Locus *”,有或没有等位基因部分。
我认为awk会是这样做的简单方法,但我无法完成它的工作。我想运行这个(假设这个玩具的例子在文件test.fasta中):
cat test.fasta | awk -F '_' '{print $1}'
>HWGG454
ATTCTACTACTACTCT
>GHW757
CTTCCCTACGATG
>TY45
TTCTACTTCATCT
但是,我要的是留住只是“轨迹*”的文字,这是第3次分隔符之后,但是,使用这种代码我得到这个:
cat test.fasta | awk -F '_' '{print $3}'
Locus3443
Locus555662
Locus800
我在做什么错在这里?
谢谢。
什么是您预期的输出? – anubhava 2015-02-23 18:37:19