Chinaunix

标题: shell处理协助 [打印本页]

作者: 236848253    时间: 2016-05-11 12:02
标题: shell处理协助
本帖最后由 236848253 于 2016-05-11 12:51 编辑

小弟有个数据如下:
<22>sendmail

小弟想用正则吧 22匹配出来 <>里的数值是随机的

然后单独吧sendmail 匹配出来

求大牛们帮帮忙

例如 sendmail 使用(?<info>[^\s]+)这个去匹配。


作者: haooooaaa    时间: 2016-05-11 12:38
grep -Po '[0-9]+'
作者: liion631818    时间: 2016-05-11 12:39
看不懂
作者: lll1985911    时间: 2016-05-11 12:40
本帖最后由 lll1985911 于 2016-05-11 12:40 编辑

awk -F'[<>]' '{print $2}',匹配22
但是不明白你说匹配sendmail是啥意思?据我了解类似(?)这样的形式是正则当中的环视,但是你这个例如里的好像不对呀。
作者: 236848253    时间: 2016-05-11 12:51
回复 4# lll1985911
小弟不是要grep去匹配,是直接拿正则匹配


   
作者: lll1985911    时间: 2016-05-11 12:56
我没用grep呀?
回复 5# 236848253


   
作者: 287380917    时间: 2016-05-11 13:54
  1. echo "<22>sendmail" |sed 's/<\([^>]*\)>\(.*\)/\1 \2/'
复制代码
结果是:
22 sendmail
你要的就是把<>之中的内容跟后续的内容取出来呗?





欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2