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为前缀之后的字符串。