+ -
当前位置:首页 → 问答吧 → 请教大家,如何取得一行字符中括号的部分?

请教大家,如何取得一行字符中括号的部分?

时间:2011-04-21

来源:互联网

请教大家一个问题
<menuItem group="secondary" label="$i18n.translate('TXT_RID_SOFTKEY_BACK', 'Back')">
上面这个字符串占一行,是从xml文件中cat再grep出来的
现在想通过sed 等手段将其中括号的部分提取出来 请问怎么做
目前没有google到方法……
求高手们赐教,谢谢

作者: wolfboy_cu   发布时间: 2011-04-21

回复 wolfboy_cu


    用grep就可以了,贴你的命令上来看看,如果可以的话。

作者: blackold   发布时间: 2011-04-21

本帖最后由 zooyo 于 2011-04-21 21:50 编辑

$ sed 's/.*(\(.*\)).*/\1/' file
'TXT_RID_SOFTKEY_BACK', 'Back'

要不要括号?不要括号的话就提取出来是这个内容。

作者: zooyo   发布时间: 2011-04-21

谢谢楼上两位,目前找到了个方法 但是是有括号的 就是grep '(.*)'
楼上这个不显示括号,果断收下! 谢谢!

作者: wolfboy_cu   发布时间: 2011-04-21

回复 blackold


    当然可以贴出命令,目前我是这样写的~

stringlist=$(cat $xmlfile |grep "$filterstring" |grep -o '(.*)' ) #提取括号中部分的字符串

作者: wolfboy_cu   发布时间: 2011-04-21

本帖最后由 blackold 于 2011-04-22 00:00 编辑

回复 wolfboy_cu


    stringlist=$(grep "$filterstring" $xmlfile |grep -Po '(?<=\().*(?=\))' )


多谢 yinyuemi (SS) 指正!

作者: blackold   发布时间: 2011-04-21

回复 blackold


    黑哥V5,零宽断言用的妙

作者: xiaopan3322   发布时间: 2011-04-21

回复 blackold


    "鸡蛋里挑骨头"

stringlist="$(grep "$filterstring" $xmlfile |grep -Po '(?<=\().*(?=\))'  ) "

作者: yinyuemi   发布时间: 2011-04-21

回复 xiaopan3322


    呵呵,有错啊。

作者: blackold   发布时间: 2011-04-21

回复 yinyuemi


    谢谢指正,马上改正。

作者: blackold   发布时间: 2011-04-21



QUOTE:
回复  yinyuemi


    谢谢指正,马上改正。
blackold 发表于 2011-04-21 23:46




    黑哥,这么晚还没休息,加班啊!

作者: yinyuemi   发布时间: 2011-04-21

回复 yinyuemi


    没班加啊,马上睡觉了。

作者: blackold   发布时间: 2011-04-21

热门下载

更多