С sed
легко сказать "делать это только на выбранных строках". Общий синтаксис: адрес команда , где адрес может быть регулярным выражением для сопоставления только тех строк, чей первый символ не >
.
sed '/^[^>]/s/u/t/g' file.fasta >newfile.fasta
Первый ^
означает начало строки; класс символов [^>]
соответствует одному символу, который не является (новой строкой или) >
.
Awk, вероятно, легче изучить, легче прочитать и легче запомнить, если двигаться вперед. Тот же скрипт в Awk может выглядеть так:
awk '/^[^>]/{ gsub(/u/,"t") }1' file.fasta >newfile.fasta
Этот последний 1
не является опечаткой; это идиома Awk для «печати всех строк».