Удалить точное совпадающее слово с помощью sed [closed]

Я хочу удалить слово «туманный» из строки. Это не удается. Почему?

echo 'foggy light' | sed 's/\<foggy\>//g'
-1
задан 18 February 2018 в 04:39

1 ответ

В вышеупомянутой строке Вам не нужны start-of-word/end-of-word маркеры, и можно использовать:

echo 'foggy light' | sed 's/foggy//g'

Для дополнительного вопроса в комментарии:

Indeeed, моя sed версия

sed --version
sed (GNU sed) 4.2.2

поддерживает Синтаксис с \<...\>

echo 'foggy foggylight' | sed 's/\<foggy\>//g'
foggylight

Если это не работает на Вас, сообщает о Вашей sed версии и читает свою страницу справочника. Для моего sed этот синтаксис работает также:

echo 'foggy foggylight' | sed 's/\bfoggy\b//g'
foggylight

\b может быть запомнен как граница.

3
ответ дан 31 October 2019 в 00:04

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

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