我有一些数据,其中包括一堆括号中的代码,有时在一行上有多个。
Lorem ipsum (ABC123) dolor sit amet
consectetur adipiscing elit (BCD234)
sed do (345CDE) eiusmod tempor (8675309) incididunt
我尝试提取括号中的字符串(grep -P -i -o "(?<=\().*(?=\))"
和grep -E -i -o "\(CAS.*\)"
)导致输出如下:
ABC123
BCD234
345CDE) eiudmod tempor (8675309
而我需要的是:
ABC123
BCD234
345CDE
8675309
我应该怎么做?我正在使用GNU grep。
我的奖金不会被无法比拟的括号打破,并从ABC123
中取出ut labore (et dolore (ABC123) magna aliqua
,但这并不太重要。
答案 0 :(得分:0)
grep -oP '\(\K.*?(?=\))' inputfile
ABC123
BCD234
345CDE
8675309