$ sed 's/_[^_]*$/&&/' file
>13_gnd_gnd
atcg
>14_galF_galF
atgc
A substituição sed
corresponderá ao último sublinhado em cada linha e depois do final da linha. Isso é o que o padrão _[^_]*$
faz ("corresponde a um sublinhado possivelmente seguido por outros caracteres não sublinhados e o fim da linha"). Ele irá substituir isso (incluindo o sublinhado) com o que foi correspondido, duas vezes (é isso que o &&
faz no bit de substituição).
Como este parece ser um arquivo no formato Fasta , e como as seqüências genômicas não podem conter sublinhados, não há teste é necessário para >
no início da linha.