就像我需要的主题一样,我需要用星形*替换圆括号中的所有内容。 。
我已经阅读了很多关于正则表达式的内容,但在这种情况下,圆形支架是特殊的
我生气了。
我有一个像这样的文本
550 OU-001 (BAY0-MC2-F14) Unfortunately messages from xxx.xxx.xxx.xx
所以应该是
550 OU-001 (*) Unfortunately messages from xxx.xxx.xxx.xx
我试过这个
sed -e 's/\(([)]*\)/*/' file
但只能以这种方式替换开括号。
550 OU-001 *BAY0-MC2-F14) Unfortunately messages from xxx.xxx.xxx.x
有人可以帮我解释一下解决方案吗?
干杯
答案 0 :(得分:2)
这个sed应该有效:
sed 's/([^)]*)/(*)/g'
答案 1 :(得分:2)
这有帮助吗?
sed 's/([^)]*/(*/g' file
带您的输入
kent$ echo "550 OU-001 (BAY0-MC2-F14) Unfortunately messages from xxx.xxx.xxx.xx"|sed 's/([^)]*/(*/g'
550 OU-001 (*) Unfortunately messages from xxx.xxx.xxx.xx
答案 2 :(得分:1)
试试这个sed
命令 - :
sed 's/(.*)/(\*)/' file
答案 3 :(得分:0)
这个sed有效:
sed 's/([^)]*)/(*)/g
它转换
foo (bar) baz (foobar) end
到
foo (*) baz (*) end