Обрезка переменного текста из строковых строк

Я пытаюсь обрезать строки в большом текстовом документе. Все они начинаются с > chr5: и затем с переменной строки чисел.

Например: > chr5: 1264398-1264827 . Я хочу урезать все это, чтобы просто сказать > chr5 . Скорее всего, числовые последовательности различаются по длине, поэтому я не уверен, смогу ли я просто сократить количество символов X и заставить его работать для каждой применимой строки в документе.

Я пытался

sed -i 's/>chr5*/>chr5/g' file.txt 

в попытке подстановить каждый символ строка, которая начинается с > chr5 , но это не сработало. Кажется, он ничего не делал. Я искал в Интернете, но не могу найти ничего, что касается удаления области переменной строки.

I ' я работаю на Mac Terminal, если это важно. Дайте мне знать, если мне нужно что-то уточнить, и спасибо за вашу помощь заранее.

0
задан 15 July 2020 в 21:36

1 ответ

Вы близки, но звездочка * в sed (или, точнее, регулярное выражение регулярного выражения в этом контексте) означает ноль или более предшествующего символа. Полная остановка / период . означает любой символ, поэтому если вы запустили:

sed -i 's /> chr5. * /> chr5 / g' file.txt

, это означает, что соответствует нулю или более любого символа и, скорее всего, будет делать то, что вы ожидаете .

0
ответ дан 30 July 2020 в 22:07

Другие вопросы по тегам:

Похожие вопросы: