仅当字段为NULL /空时才使正则表达式通过

时间:2019-02-13 13:23:10

标签: regex awk

我正在尝试解决下面的代码,该代码如何将空值传递给正则表达式。因此应该找到除空白区域之外的任何内容,它会打印“无效”代码。

!($6~/^[]$/) {print "6th field invalid";

感谢您的帮助

2 个答案:

答案 0 :(得分:1)

由于您还没有提到任何样品,所以没有检查它,请您试一下。

awk '$6==""{print "6th field is empty"}'   Input_file

但是,如果您能在帖子中提及输入示例,那么检查此解决方案也可能会有所帮助。

如果您想反之亦然,请尝试遵循@James Brown在评论中提到的内容。

awk '$6!=""{print "6th field is NOT empty..etc.."}' Input_file

注意: :由于您没有向我们展示示例,因此您可能需要为Input_file设置字段分隔符,因此也请注意这一点。

答案 1 :(得分:1)

怎么样

awk '$6 != "" {print "invalid";}'

但是您必须正确设置字段分隔符。如果它可以匹配一个空字符串(默认字段分隔符为/ [\ t] + /),则$ 6可能就是您认为的$ 7。