Intereting Posts
Форматирование внешнего жесткого диска USB ext4 Каковы могут быть причины, по которым сценарии оболочки убивают себя? Как регистрировать, если переменная среды не установлена? Fedora: добавление дополнительных шрифтов в безопасном порядке Ошибка, какой-то другой хост уже использует адрес IPADDRESS Обои i3lock при закрытии крышки Есть два списка, хотите исключить list2 из list1 Как уменьшить жадность регулярного выражения в AWK? Как улучшить этот сценарий резервного копирования? Можно ли предложить IP-адрес моего DHCP-сервера для моего клиента? экранная подошва для каждого окна «Netstat -p» / «ss -p» не показывает процесс прослушивания порта Как преобразовать шестнадцатеричные символы в обычные символы? Нужно ли мне пространство подкачки, если у меня более чем достаточное количество оперативной памяти? grep последнее слово данной строки .csv-файл

Команда sed и форматирование одной строки

Мне нужна помощь в создании этих заголовков:

'>>tr|G1PEZ0|G1PEZ0_MYOLU Uncharacterized protein (Fragment) OS=Myotis lucifugus GN=SNCG PE=4 SV=1 

в это:

 '>G1PEZ0_MYOLU 

Я сдался. Я не могу сделать это путем проб и ошибок. Пожалуйста, проигнорируйте апостроф в начале.

Как насчет этого:

 str='>>tr|G1PEZ0|G1PEZ0_MYOLU Uncharacterized protein (Fragment) OS=Myotis lucifugus GN=SNCG PE=4 SV=1' echo "$str" | sed -e 's/ .*//' -e 's/.*|//' -e 's/^/>/' 

Это использует 3 отдельные подстановки – удаляет все из 1-го места на линии и удаляет все до последнего | на линии, и положите a > назад как первый символ строки.

Это также можно сделать с помощью cut :

 input=">>tr|G1PEZ0|G1PEZ0_MYOLU Uncharacterized protein (Fragment) OS=Myotis lucifugus GN=SNCG PE=4 SV=1" echo "$input" | cut -d" " -f1 | cut -d"|" -f3 | sed "s/^/>/" 

С tr и cut :

 tr ' |' '>>' <input |cut -d\> -f1,6 

… который tr аннулирует все пробелы и | трубы в > прямые углы, а затем cut из результирующего > -d исключенных – только 1-й и 6-й.

С sed …

 sed -n 'y/ /\n/;s/.*|/>/;P' <input 

Который также y/// преобразует все пробелы в \n ewlines, тогда s/// Ъ-──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── pipe в одиночный > затем P rints только до первого \n ewline в пространстве шаблонов.