我想提取两种模式之间的可变位数,例如:
更正:
blah blah.... AAM #6,blah blah
blah blah.... AAM #10 , blah blah
blah blah.... AAM #100 , blah blah
输出:6,10和100
我需要在AMA #
和,
答案 0 :(得分:1)
$ 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
答案 1 :(得分:0)
尝试像(?< =#)\ d +
这样的正则表达式答案 2 :(得分:0)
假设两个模式之间的数字应该是AAM#
和,
gawk 'match($0, /AAM #([[:digit:]]+)[[:space:]]*,/, a) {print a[1]}'
答案 3 :(得分:0)
如果你使用awk,则无需使用sed。它是多余的。
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