使用 sed 删除完全匹配的单词

使用 sed 删除完全匹配的单词

我想从字符串中删除单词“foggy”。但失败了。为什么?

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

答案1

在上面的字符串中,您不需要单词开始/单词结束标记,您可以使用:

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

对于评论中的附加问题:

确实,我的 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可以记为边界

相关内容