4

如何替换字符串 sed整个单词搜索和替换中的整个单词

在 HP-UX (B.11.31) 中使用 sed?

$ echo "bar embarassment" | sed "s/bar/no bar/g";

"\bbar\b" does not work
"\<bar\>" does not work
"[[:<:]]bar[[:>:]]" does not work
4

3 回答 3

1

尝试使用-r选项:sed\b

echo "bar embarassment" | sed -r "s/\bbar\b/no bar/g";
于 2011-08-19T08:47:03.383 回答
1

在 solaris 上测试,而不是 hpux

echo "bar embarassment bar foobar bar" | 
sed -e 's/\([^[:graph:]]\)bar$/\1no bar/g'  \
    -e 's/\([^[:graph:]]\)bar\([^[:graph:]]\)/\1no bar\2/g' \
    -e 's/^bar\([^[:graph:]]\)/no bar\1/g'

发出

no bar embarassment no bar foobar no bar
于 2011-08-19T12:15:52.307 回答
0

如果你在 vim 中,你可以使用这个命令:

:% s/\<old\>/new/g
于 2016-11-19T08:08:03.920 回答