使用sed或awk提取位于括号外的字符串

时间:2014-10-13 10:47:09

标签: regex bash awk sed

我有一个格式为abc的字符串(应该删除的东西)是坏的(另一件要删除的东西):基本上是一个字符串,其中有一些不在括号中的单词和一些在括号中的单词。我想提取没有括号的单词。例如。在上面的例子中,输出应该是abc是坏的。

1 个答案:

答案 0 :(得分:1)

你可以试试下面的sed命令,

sed 's/([^()]*)//g' file

示例:

$ cat file
abc(something that should be removed) is bad(another thing to remove)
$ sed 's/([^()]*)//g' file
abc is bad

默认sed使用BRE(基本正则表达式),因此您无需转义()即可匹配文字(,{{ 1}}符号。