извлечь цифры между 2 шаблонами awk / egrep - PullRequest
1 голос
/ 12 августа 2010

Я хочу извлечь переменное количество цифр между двумя шаблонами, например:

коррекция:

blah blah.... AAM #6,blah blah

blah blah.... AAM #10 , blah blah

blah blah.... AAM #100 , blah blah

выход: 6, 10 и 100

Мне нужно извлечь числа между AMA # и ,

Ответы [ 4 ]

1 голос
/ 02 ноября 2012
$ 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
0 голосов
/ 12 августа 2010

При условии, что между двумя образцами должны быть цифры AAM# и ,

gawk 'match($0, /AAM #([[:digit:]]+)[[:space:]]*,/, a) {print a[1]}'

0 голосов
/ 12 августа 2010

Нет необходимости использовать 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
0 голосов
/ 12 августа 2010

попробуйте регулярное выражение вроде (? <= #) \ D + </p>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...