+ -
当前位置:首页 → 问答吧 → 如何取出特定字符?

如何取出特定字符?

时间:2011-05-17

来源:互联网

inputfile里的内容是
(abc)
aa (a(d)xe)) (b) (c)fff
asdf(aakk
e)zz (ala)oe
如何用sed取出每行第一对小括号里的字符?希望得到如下结果
abc
a(d
ala
谢谢赐教~

作者: kean_ca   发布时间: 2011-05-17

sed -n 's/[^(]*(\([^)]*\)).*/\1/p' urfile

作业?

作者: waker   发布时间: 2011-05-17

sed -n 's/[^(]*(\([^)]*\)).*/\1/p'

作者: dzhxc   发布时间: 2011-05-17

哇塞,我的和waker大师的一样,窃喜中!

作者: dzhxc   发布时间: 2011-05-17

回复 waker


    是,可悲的是。老师上课没讲过啊~~只能求助众高人了。。。

作者: kean_ca   发布时间: 2011-05-17

还有学校教这个 真好

作者: ziyunfei   发布时间: 2011-05-17

本帖最后由 yinyuemi 于 2011-05-17 13:46 编辑

回复 kean_ca


    awk:

awk 'sub(/[^\(]*\(/,"")&&sub(/\).*/,"")'

作者: yinyuemi   发布时间: 2011-05-17

  1. perl -ne 's/.*?\(//;print if s/\).*// ' urlfile
复制代码

作者: nuclearxin   发布时间: 2011-05-17

  1. sed -rn 's/[^(]*\(([^)]*)\).*/\1/p' urfile
复制代码

作者: xiaopan3322   发布时间: 2011-05-17