如果匹配正则表达式,则使用awk打印列

时间:2015-10-01 07:09:06

标签: regex bash awk

我试图让awk打印第六列 IF 它匹配我的正则表达式,但现在它只返回1.

awk -v OFS='\t' {'print $3, $4, $5, $6 ~ /([^07].*)/'}

我在这里缺少什么?我不能真正使用grep,因为第四列以与第六列相同的字符开头。

1 个答案:

答案 0 :(得分:1)

  

如果以07开头,我希望它打印列

您的语法错误,您需要使用:

awk -v OFS='\t' '$6 ~ /^07/ {print $3, $4, $5, $6}' file

即。将正则表达式作为条件匹配,然后在{...}块中打印选定的列。