我有一个问题,我想在文本文件中找到文本并将此文本calsiffy到第一列等。我有4列,其中一行只有一行GI或HI等我想如果我找到它,从所有文本“chr”中找到它,我想将它分类到第一列。在此之后我想找到ENST并且如果我找到它我想将它分类到第二列,如果文本不在行中,则第二列将为空。在此之后与GI和HI相同。比输入是4列的文本,但它没有排序,我想排序它谎言。在第一列将是第二列的chr将是ENST,在第三列将是GI并且在第四列将是HI。
INPUT:
> ENST chr GI HI
> chr ENST HI GI
> ENST chr HI GI
> chr . HI GI
输出
> chr ENST GI HI
> chr ENST GI HI
> chr ENST GI HI
> chr . GI HI
谢谢。
答案 0 :(得分:1)
这样的事情:
awk '{
if(index($0,"chr")) {line="chr"} else {line=" "}
if(index($0,"ENST")){line=line " ENST"} else {line=line " ."}
if(index($0,"GI")) {line=line " GI"} else {line=line " ."}
if(index($0,"HI")) {line=line " HI"} else {line=line " ."}
print line
}' yourfile
<强>输出:强>
chr ENST GI HI
chr ENST GI HI
chr ENST GI HI
chr . GI HI