在我的文本文件中,我有一个特殊名称(被视为宏),即:MYFUNCTION[myParam]
现在我想使用sed来获取使用过的param的名称(在上面的例子中它是myParam
)并基于它在字典中搜索我用来替换文本的值{{1} }。
我设法创建了一个sed指令来查找一个组,但它也打印了其他单词,即:
myParam
产生以下输出:
echo "some text MYFUCNTION[paramName]" | sed -e "s/MYFUNCTION\[\([a-Z]*\)\]/\1/"
我只想进入输出:
some text paramName
我怎样才能实现这一目标?感谢您的帮助:)
答案 0 :(得分:2)
将正则表达式中的MYFUNCTION之前的文本包含在.*
中,如下所示:
echo "some text MYFUNCTION[paramName]" | sed -e "s/.*MYFUNCTION\[\([a-Z]*\)\]/\1/"