sed -> 从字符串中替换固定文本和括号

rad*_*100 1 regex bash sed

如何带出这个表情

echo "ObjectId(5e257e424ed10b0015e3e780),'qwe',ObjectId(5e257e424ed10b0015e3e780),()"
Run Code Online (Sandbox Code Playgroud)

对此

5e257e424ed10b0015e3e780,'qwe',5e257e424ed10b0015e3e780,()
Run Code Online (Sandbox Code Playgroud)

使用sed

我用这个:

echo "ObjectId(5e257e424ed10b0015e3e780),'qwe',ObjectId(5e257e424ed10b0015e3e780),()" | \
   sed 's/ObjectId(\([a-z0-9]\)/\1/'
Run Code Online (Sandbox Code Playgroud)

Wik*_*żew 5

您可以使用

sed 's/ObjectId(\([[:alnum:]]*\))/\1/g'
Run Code Online (Sandbox Code Playgroud)

查看在线演示

POSIX BRE 模式意味着:

  • ObjectId(- 匹配文字字符串
  • \([[:alnum:]]*\)- 第 1 组:零个或多个字母数字字符
  • )- 一个字面意思)

替换\1后将仅保留第 1 组值。

g标志将替换所有出现的情况。