У меня есть файл с несколькими строками:
OTU3055 UniRef90_A0A0F7KBB1 UniRef90_A0A1Z9IPT2
OTU0856 OTU53699 UniRef90_D6PC25 UniRef90_D6PCA5 UniRef90_D6PCG3
OTU0125 UniRef90_A0A075FUN0 UniRef90_A0A075G8Q1 UniRef90_A0A075GDT2
Я хочу удалить все вхождения OTUXXXX (всегда есть 4 числа после «OTU»), который появляется в файле.Я использовал sed
, но это не сработало.OTUXXXX всегда появляется в начале строк.
sed 's/OTU[0-9]{4} //g' my_file.txt
Я ставлю пробел после OTU[0-9]{4}
, потому что я хочу, чтобы идентификаторы Uniref90 были в начале каждой строки.
Редактировать:
sed -r 's/OTU[0-9]{4} //g' my_file.txt
работает.Но у меня возникает другая проблема:
UniRef90_A0A0F7KBB1 UniRef90_A0A1Z9IPT2
UniRef90_D6PC25 UniRef90_D6PCA5 UniRef90_D6PCG3
UniRef90_A0A075FUN0 UniRef90_A0A075G8Q1 UniRef90_A0A075GDT2
Некоторые строки по-прежнему начинаются с пробела.Я попытался sed 's/^ *//' my_file.txt
, и это не работает.Я хочу, чтобы вторая строка моего файла начиналась как две другие строки без пробелов.