Один из способов — использовать цикл, заменяя пробелы по одному, пока перед первым двоеточием не останется пробелов:
$ sed -e :a -e '/[^:]* [^:]*:/s/ /_/;ta' input.txt
[Candidatus_Protochlamydia_amoebophila_UWE25: NC_005861]
MNQRTGILLVNLGTPKTPRPKDVYRYLNEFLTDGRVIDLPWLKRQLLVRC
IIVPFRYKQSSMLYQKLWTAEGSPLLVHGIAVQTKLQMILGESFQVELAM
[Gluconobacter_oxydans_621H: NC_006677]
MAFLHKTPRIAPPPEGRTGILLINLGTPDDTGYFSVRRYLSEFLSDRRVI
ESPPLIWQPILQSIILTKRPFASGANYARIWHKEENASPLRVYTRRQAEG
Более подход KISS может заключаться в замене всех пробелов -, а затем повторной -замене пробела после двоеточия:
sed -e 's/\s\+/_/g' -e 's/:_/: /' input.txt
Если Perl является опцией, вы можете использовать отрицательный просмотр назад для замены только тех экземпляров, которым не предшествует двоеточие:
perl -pe 's/(?<!:) /_/g' input.txt
Вы должны выбрать вариант с тремя вертикальными точками. Затем вам нужно нажать «Другое» вариант («Інше» на моем языке отображения ). Может показаться, что «Другое» — это заголовок, потому что панель поиска отображается ниже, но на самом деле это вариант. После выбора этой опции вы можете либо прокручивать, либо искать нужный язык.