参见英文答案 >
How to print matched regex pattern using awk?6个
有没有办法在shell中使用awk命令打印正则表达式匹配(但只有匹配的字符串)?
有没有办法在shell中使用awk命令打印正则表达式匹配(但只有匹配的字符串)?
是的,在awk中使用match()函数并为其提供可选的数组参数(在我的示例中为a).执行此操作时,第0个元素将是与正则表达式匹配的部分
$echo "blah foo123bar blah" | awk '{match($2,"[a-z]+[0-9]+",a)}END{print a[0]}' foo123