我想从字符串中删除单词“foggy”。它失败。为什么?
echo 'foggy light' | sed 's/\<foggy\>//g'
Run Code Online (Sandbox Code Playgroud)
use*_*own 11
在上面的字符串中,您不需要词首/词尾标记,您可以使用:
echo 'foggy light' | sed 's/foggy//g'
Run Code Online (Sandbox Code Playgroud)
对于评论中的附加问题:
确实,我的 sed 版本
sed --version
sed (GNU sed) 4.2.2
Run Code Online (Sandbox Code Playgroud)
支持语法 \<...\>
echo 'foggy foggylight' | sed 's/\<foggy\>//g'
foggylight
Run Code Online (Sandbox Code Playgroud)
如果它不适合您,请报告您的 sed 版本并阅读其联机帮助页。对于我的 sed,此语法也适用:
echo 'foggy foggylight' | sed 's/\bfoggy\b//g'
foggylight
Run Code Online (Sandbox Code Playgroud)
\b可以记为边界。