sed全字搜索和替换

时间:2011-08-19 08:39:05

标签: shell sed hp-ux

如何替换字符串中的整个单词 sed whole word search and replace

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

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

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

3 个答案:

答案 0 :(得分:1)

使用-r

尝试sed的{​​{1}}选项
\b

答案 1 :(得分: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

答案 2 :(得分:0)

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

:% s/\<old\>/new/g