且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

仅当匹配不受字母或数字约束时,如何使用 sed 查找和替换项目?

更新时间:2022-11-12 22:07:40

fish 前后使用负字符类,像这样:\(^\|[^[:alnum:]]\)fish\($\|[^[:alnum:]]\).这说:

Use a negative character class before and after fish, like so: \(^\|[^[:alnum:]]\)fish\($\|[^[:alnum:]]\). This says:

  1. 行首或任何非字母数字
  2. 跟着鱼
  3. 后跟行尾或任何非字母数字

这保证紧接在 fish 之前和之后的字符不是字母数字.

This guarantees that the characters immediately preceding and immediately following fish are not alphanumeric.

sed 's/\(^\|[^[:alnum:]]\)fish\($\|[^[:alnum:]]\)/\1bear\2/g'