【发布时间】:2015-07-16 13:49:18
【问题描述】:
我正在尝试在单词边界处使用 sed 替换文本。看了Beginning and end of words in sed and grep后,我用:
echo "It is a @ at a@ ." | sed "s/\ba\b/#/g"
输出:# @ at a@ 。
效果很好,但是当我尝试替换以 @ 等特殊字符开头或结尾的单词时,它不起作用。
echo "It is a @ at a@ ." | sed "s/\b@\b/#/g"
输出:在 a@ 处是 @。
echo "It is a @ at a@ ." | sed "s/\ba@\b/#/g"
输出:在 a@ 处是一个@。
我错过了什么?如何使用 sed 替换以特殊字符结尾的整个单词?
【问题讨论】: