Для каждой строки входного файла я хотел бы напечатать поле с строкой '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