这可能是一个愚蠢的问题,但(
)
sed 支持?我知道\\(
并\\)
持有它们之间的内容,因此您可以通过\1
或任何数字访问它。我需要一个正则表达式来查找括号并保存它们之间的内容。
sed 's/.*( .* \([[:alnum:]]+\) *).*/\1/' file
所以我正在寻找这个:
可能是一些东西(可能是一些东西 [字母或数字] 可能是一些东西)
我需要找到外部()
s,但你不能找到\
它们,否则它认为你想保存里面的东西。基本上我只需要找到()
s 就可以在其中保存一些东西。
我将继续寻找如何做到这一点,但如果你们中的任何人知道它会如何真正帮助我。我尝试使用""
and ''
,除非我使用了某种不起作用的不正确语法。感谢您提供任何帮助。
编辑:具体示例:我想要:
aname = (type name){ value, value }.
我想知道如何在 sed 中专门寻找 ()s 和 {},因为它们还有其他含义。我假设 \{ 和 \} 是您获得 {} 的方式,但我不确定如何获得 ()。我也知道前面的 sed 表达式不会找到,这只是我写下的一个简单示例,以表明我想在正则表达式中查找 ()。如果我造成任何混乱,我很抱歉。只是让你们可以看到这是我当前的正则表达式:
start line aname = ( type name ) { values };
sed 's/^\([[:alnum:]]\)+ *={1} *[^()]({1} *[[:alnum:]]+ +\([[:alnum:]]\)+ *) *\{{1}\(.*\)\};/init_\2\( \&\1, \3)/' file