Reputation: 13
I want to extract the variable number of digits between two patterns, eg:
correction:
blah blah.... AAM #6,blah blah
blah blah.... AAM #10 , blah blah
blah blah.... AAM #100 , blah blah
output: 6, 10 and 100
I need to extract numbers between AMA #
and ,
Upvotes: 1
Views: 1687
Reputation: 203493
$ 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
Upvotes: 1
Reputation: 342363
No need to use sed if you use awk. Its redundant.
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
Upvotes: 0
Reputation: 246807
Assuming the two patterns the digits are supposed to be between are AAM#
and ,
gawk 'match($0, /AAM #([[:digit:]]+)[[:space:]]*,/, a) {print a[1]}'
Upvotes: 0