У меня есть файл, содержащий мои целевые строки (начинаются с '>') ...
>lcl|1:c127-20 Ricardo3 phone
Я хочу получить:
>Ricardo3:127-20
Мои шаги: (1) Измените ':' с помощью '', (2) удалите строку 'c' и (3) получите первое и второе совпадения и напечатайте их в другом порядке, разделив ':' как '\ 2 [:] \ 1'.
Это мой код:
sed -e '/^>/s/:/ /' -e '/^>/s/c//' -e '/^>/s/.*\s\([A-Z_0-9a-z]*\)\s.*\[A-Z_0-9a-z].*/\2[:]\1/' file
Но я все еще получаю только:
>ll|1 127-20 Ricardo3 phone
У меня сложное время с регулярным выражением в последней структуре sed.Любая помощь будет очень полезна.
Спасибо