Заменить строку с помощью sed - PullRequest
2 голосов
/ 15 апреля 2020

Содержимое файла:

world-123.hello-abcd
world-124.good
world-125.bye-abcd
world-126.bye

Ожидаемый результат:

world-123.hello
world-124.good
world-125.bye
world-126.bye

Команда, которую я пытаюсь исправить:

cat file | sed 's:\..*-.*::'

Результат, который я получаю:

world-123
world-124.good
world-125
world-126.bye

Как исправить отсутствующий контент?

1 Ответ

0 голосов
/ 15 апреля 2020

Вы можете использовать

sed 's:-[^.-]*$::' file

Шаблон -[^.-]*$ соответствует -, а затем любым 0 или более символам, отличным от . и - до конца строки.

См. онлайн sed демо .

...