У меня есть пример файла здесь http://pastebin.com/m5m40nGFДобавить строку после каждой строки матча
То, что я хочу сделать, это добавить строку после каждого экземпляра protein_id. protein_id всегда имеет один и тот же шаблон: TAB-TAB-TAB-protein_id-TAB-GNL | CorradiLab | M715_ # SOME_NUMBER
Что мне нужно сделать, чтобы добавить это после каждой строки protein_id: TAB-TAB- TAB-transcript_id-TAB-gnl | CorradiLab | M715_mRNA_ # SOME_NUMBER
Уловкой является то, что # НЕКОТОРЫЙ_NUMBER должен оставаться неизменным.
В первом случае, это будет выглядеть следующим образом: 94 1476 CDS protein_id GNL | CorradiLab | M715_ECU01_0190 transcript_id GNL | CorradiLab | M715_mRNA_ECU01_0190 серин продукт hydroxymethyltransferase этикетка серин hydroxymethyltransferase
Спасибо! Adrian
Я пробовал решение perl, но я получаю сообщение об ошибке.
open(IN, $in); while(<IN>){
print $_;
if ($_ ~= /gnl\|CorradiLab\|/) {
$_ =~ s/tprotein_id/transcript_id/;
print $_;
}
}
Ошибка:
syntax error at test.pl line 3, near "$_ ~"
syntax error at test.pl line 7, near "}"
Execution of test.pl aborted due to compilation errors.
Просьба указать язык, который вы пытаетесь разобрать файл с, и показать нам какой-либо код из предыдущих попыток при решении этой проблемы. Вы дали слишком мало информации для работы. – Serlite
Мне было интересно, будет ли работать комбинация bash/sed/awk? К сожалению, я не уверен, как подойти к этой проблеме. –