【发布时间】:2014-11-27 19:33:01
【问题描述】:
我在sed 中寻找一个命令来转换这个输入流:
dummy
(key1)
(key2)dummy(key3)
dummy(key4)dummy
dummy(key5)dummy))))dummy
dummy(key6)dummy))(key7)dummy))))
进入这个:
key1
key2
key3
key4
key5
key6
key7
其中dummy 可以是任何不带括号的字符串。所以我基本上想提取括号之间的字符串并每行输出一个字符串。可以有额外的右括号)。
我使用正则表达式对sed 进行了许多测试,但我无法弄清楚
如何解决这个问题呢。虽然我确信这是可能的。
(我对 Perl 或 Python 等替代工具持开放态度)
编辑:括号之间的字符串 (key1, key2 .. key7) 可以是任何不带括号的字符串。
【问题讨论】:
-
cat input | perl -nle'print $1 if /(key\d+)/提问的时候也应该贴出你试过的代码!