Замена части текста с помощью Sed - PullRequest
0 голосов
/ 12 апреля 2010

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

Eif2ak1.aSep07
Eif2ak1.aSep07
LOC100042862.aSep07-unspliced
NADH5_C.0.aSep07-unspliced
LOC100042862.aSep07-unspliced
NADH5_C.0.aSep07-unspliced

Что я хочу сделать, это удалить весь текст, начиная с точки (.) И заканчивая. Но почему эта команда не делает этого?

sed 's/\.*//g' myfile.txt

Как правильно это сделать?

Ответы [ 2 ]

4 голосов
/ 12 апреля 2010

Вы пропустили точку там. Вы хотите:

s/\..*$//g
1 голос
/ 12 апреля 2010

вы можете использовать awk или cut, так как точки - это ваши разделители.

$4 awk -F"." '{print $1}' file
Eif2ak1
Eif2ak1
LOC100042862
NADH5_C
LOC100042862
NADH5_C

$ cut -d"." -f1 file
Eif2ak1
Eif2ak1
LOC100042862
NADH5_C
LOC100042862
NADH5_C

проще, чем с помощью регулярного выражения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...