2013-04-21 4 views
1

Привет я следующий файл:удалить все символы в строке после определенной строки

>seq0 id345 
FQTWEEFSRAAEKLYLADPMKVRVVLKYRHVDGNLCIKVTDDLVCLVYRTDQAQDVKKIEKF 
>seq1 id1045 
KYRTWEEFTRAAEKLYQADPMKVRVVLKYRHCDGNLCIKVTDDVVCLLYRTDQAQDVKKIEKFHSQLMRLME 

и я стараюсь, чтобы удалить символ после> так я получаю:

> 
FQTWEEFSRAAEKLYLADPMKVRVVLKYRHVDGNLCIKVTDDLVCLVYRTDQAQDVKKIEKF 
> 
KYRTWEEFTRAAEKLYQADPMKVRVVLKYRHCDGNLCIKVTDDVVCLLYRTDQAQDVKKIEKFHSQLMRLME 

У меня есть почти получил это с помощью:

sed -e 's/>.*//' 

однако это также удаляет> символы, оставив меня с:

FQTWEEFSRAAEKLYLADPMKVRVVLKYRHVDGNLCIKVTDDLVCLVYRTDQAQDVKKIEKF 

KYRTWEEFTRAAEKLYQADPMKVRVVLKYRHCDGNLCIKVTDDVVCLLYRTDQAQDVKKIEKFHSQLMRLME 

как сохранить символы>?

Спасибо.

ответ

3

Повторное использовать решение для более сложных случаях (с помощью захвата группы):

sed -r 's/(>).*/\1/' 
+0

отличное спасибо! – brucezepplin

3

Самое простое исправление будет:

sed 's/>.*/>/' 
+0

не так очевидно для меня! но спасибо большое, это работает. – brucezepplin

Смежные вопросы