Я хочу извлечь переменное количество цифр между двумя шаблонами, например:
коррекция:
blah blah.... AAM #6,blah blah blah blah.... AAM #10 , blah blah blah blah.... AAM #100 , blah blah
выход: 6, 10 и 100
Мне нужно извлечь числа между AMA # и ,
AMA #
,
$ cat file blah blah.... AAM #6,blah blah blah blah.... AAM #10 , blah blah blah blah.... AAM #100 , blah blah $ awk -F'(AAM #| *,)' '{print $2}' file 6 10 100
При условии, что между двумя образцами должны быть цифры AAM# и ,
AAM#
gawk 'match($0, /AAM #([[:digit:]]+)[[:space:]]*,/, a) {print a[1]}'
Нет необходимости использовать sed, если вы используете awk.Его избыточность.
gawk 'BEGIN{FS="/"}/COMPLETED/{ match($7, /AAM #([[:digit:]]+)[[:space:]]?,/, a) printf "%s %s:%s \n", substr($4,1,10),substr($6,8,1), a[1] } ' file
попробуйте регулярное выражение вроде (? <= #) \ D + </p>