Я надеюсь, что это может быть легко решено с помощью awk, хотя я не смог справиться с этим.
У меня есть многострочный текстовый файл, разделенный табуляцией.В каждой строке есть идентификатор в первом поле, затем от 0 до 8 дополнительных полей с информацией об этом идентификаторе.Например:
fileIhave.txt:
LOC107198162 GO:0016021
LOC107198170 GO:0004896 GO:0005515 GO:0016020
LOC107198182 GO:0016787
LOC107198203
LOC107198204 GO:0007160
...
У меня есть необходимость добавить / скопировать идентификатор (LOC *) для каждого из полей в соответствующей строке, включающих текст (GO: *) и добавить знак "=" между пробелами по обе стороны.то есть
fileIwant.txt
LOC107198162 LOC107198162 = GO:0016021
LOC107198170 LOC107198170 = GO:0004896 LOC107198170 = GO:0005515 LOC107198170 = GO:0016020
LOC107198182 LOC107198182 = GO:0016787
LOC107198203
LOC107198204 LOC107198204 = GO:0007160
...
Я могу сделать это для второго поля (первое появление информации), используя awk 'BEGIN{OFS="\t"}$2=$1" = "$2'
, но не могу найти правильный способ примененияк дополнительным текстовым полям в строке.Также я не хочу копировать идентификатор в поле, если там нет текста.