awk/grep正则匹配-找出以逗号分隔的数字列表

echo 15071700684902925088,15071700540402510152,15071700291812115134| awk '{match($0,"([0-9]+[,]+)*([0-9]+)",a)}END{print a[0]}'

$0表示前面的字符串内容,([0-9]+[,]+)*([0-9]+)是整个正则表达式,表示匹配项存在0个或者多个数据和逗号组合项,考虑到单个匹配项没有逗号,所以需要加一个独立匹配项


awk '{match($0,"Carer[^ ]([0-9]+)",a)}END{print a[2]}' test.txt  

test.txt的内容如下

 [/home/work/odp/app/route/models/service/page/OnWayOrder.php:151] errno[0] logId[0000992029] uri[/route/onwayorder?os=iphone8.400000&qid=&cuid=1195094a004929f381ee9232fc5ca6c2&from=1&resid=01&channel=1008648b&sv=8.4.0&mb=iPhone4%2C1&src_from=route_car] refer[] cookie[BAIDUID=D281105702ED6292283AD0A6CCA21A93:FG=1; BDUSS=FnS3RUNmVoRkFpNkZyTVZZTXFxajI2RkFQLWl1OEVNY341SDJpbHhYT0hwVVJWQVFBQUFBJCQAAAAAAAAAAAEAAABZRD9iAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIcYHVWHGB1VQz]  optime[1437580800.999] client_ip[180.164.137.45] local_ip[10.26.162.18] product[place] subsys[carpo] module[route] uniqid[0] cgid[27738] uid[0] CLASS[Service_Page_OnWayOrder] This Time Carer[1648313433] Has Order Num is 0!


这个正则表达式,想要匹配红色部分数字的。

echo 'hello world'|grep -oP '(?<=hello\s)\w+'   是找出以hello为前缀之后的字符串。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值