sed 替换 () 中的文本

sed 替换 () 中的文本

我有这样的文件:

90 (160/180)

我需要删除()包含().

输出应该是:90

这些行有不同的数字,例如:

88 (155/190),
47 (143/188)

我怎样才能用 sed 做到这一点?

答案1

sed 's/ .*//'将删除第一个空格之后的所有内容(括号之前及之后),并且sed 's/ ([^)]*)//'仅删除括号和前面的空格(表达式([^)]*)匹配左括号,后跟不包含右括号的任何字符串,然后是右括号)。

测试:

$ sed 's/ .*//' <<<"90 (160/180)"
90
$ sed 's/ ([^)]*)//' <<<"90 (160/180)"
90

相关内容