awk十进制&单个正则表达式中的整数检查

时间:2015-11-14 08:11:59

标签: regex linux bash awk

我有一个|分隔文件

在第5列,它包含像

这样的值
10
1
10.01
100.02
500
6

所以在AWK中我做了

awk -F '|' '$1 ~ /^[0-9]+\.[0-9]+$/ || $1 ~ /^[0-9]+$/ || $1 ~ /^[0-9]$/' file

我的问题是我如何在awk中使用单个正则表达式来支持这三个检查,因为我在awk中还有其他验证

1 个答案:

答案 0 :(得分:2)

感谢赛勒斯评论

awk -F '|' '$1 ~ '/^[0-9]+(\.[0-9]+){0,1}$/' filename

似乎正在运作

感谢ED评论,即使是以下方式也适用于数字检查

awk -F '|' '$1 == ($1+0)'