Я пытаюсь обрезать строки в большом текстовом документе. Все они начинаются с > chr5:
и затем с переменной строки чисел.
Например: > chr5: 1264398-1264827
. Я хочу урезать все это, чтобы просто сказать > chr5
. Скорее всего, числовые последовательности различаются по длине, поэтому я не уверен, смогу ли я просто сократить количество символов X и заставить его работать для каждой применимой строки в документе.
Я пытался
sed -i 's/>chr5*/>chr5/g' file.txt
в попытке подстановить каждый символ строка, которая начинается с > chr5
, но это не сработало. Кажется, он ничего не делал. Я искал в Интернете, но не могу найти ничего, что касается удаления области переменной строки.
I ' я работаю на Mac Terminal, если это важно. Дайте мне знать, если мне нужно что-то уточнить, и спасибо за вашу помощь заранее.
Вы близки, но звездочка *
в sed (или, точнее, регулярное выражение регулярного выражения в этом контексте) означает ноль или более предшествующего символа. Полная остановка / период .
означает любой символ, поэтому если вы запустили:
sed -i 's /> chr5. * /> chr5 / g' file.txt
, это означает, что соответствует нулю или более любого символа и, скорее всего, будет делать то, что вы ожидаете .