我有一个|
分隔文件
在第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中还有其他验证
答案 0 :(得分:2)
感谢赛勒斯评论
awk -F '|' '$1 ~ '/^[0-9]+(\.[0-9]+){0,1}$/' filename
似乎正在运作
感谢ED评论,即使是以下方式也适用于数字检查
awk -F '|' '$1 == ($1+0)'