Удалить строку между тире (-) и первой точкой (.) - PullRequest
0 голосов
/ 11 мая 2018

У меня есть много веб-адресов, включая некоторые специальные имена интерфейсов, которые я хотел бы удалить. Примеры:

aaaaaaa-INT1.aaaa.aaaa.com
bbbbbbb-INT2.bbbb.bbbb.com
ccccccc-INT.cccc.cccc.com

Так что мой ожидаемый результат после sed должен быть:

aaaaaaa.aaaa.aaaa.com
bbbbbbb.bbbb.bbbb.com
ccccccc.cccc.cccc.com

Я пробовал это, но это не работает:

sed 's/-.*^.//'

Любое предложение, пожалуйста?

Ответы [ 2 ]

0 голосов
/ 11 мая 2018

Решение 1-е: После sed тоже может помочь вам.

sed 's/\([^-]*\)-\([^.]*\)\(.*\)/\1\3/'  Input_file

Решение 2-е: С awk.

awk -F"." '{sub(/-.*/,"",$1)} 1' OFS="."   Input_file
0 голосов
/ 11 мая 2018

Чтобы удалить первую черту и все до первого периода:

$ sed 's/-[^.]*//' file
aaaaaaa.aaaa.aaaa.com
bbbbbbb.bbbb.bbbb.com
ccccccc.cccc.cccc.com
...