對於輸入文件中的每一行,我想打印具有字符串'locus_tag ='的字段,如果沒有字段匹配,則打印一個破折號。解析簡單表格
輸入文件(製表符分隔):
GeneID_2=7277058 location=890211..892127 locus_tag=HAPS_0907 orientation=+
GeneID_2=7278144 gene=rlmL location=complement(1992599..1994776) locus_tag=HAPS_2029
GeneID_2=7278145 gene=rlmT location=complement(1992599..1994776) timetoparse
所需的輸出:
locus_tag=HAPS_0907
locus_tag=HAPS_2029
-
是否嘗試過這一點,但不工作:
awk -F'\t' '{ for(i=1; i<=NF; i++) if($i ~/locus_tag=/) {print $i}; {for(i=1; i<=NF; i++) if($i !=/locus_tag=/) {print "-"}} }' SNP_annotations_ON_PROTEIN
是的,對不起......我只是優化小腳本...現在它看起來像最整潔(或至少最短:-)的建議答案... :-) – MarcoS