如何检查列是否包含非数值

Mid*_*hun 2 unix awk

我想要获取文件中特定列的非数字记录的计数unix
我努力了:

awk -F"|" ' $1~ "^[0-9]*$" { print $1 }' File |wc -l

但没有运气。
帮我。

Ed *_*ton 5

检查数值的唯一明智的方法是进行数学比较:

awk -F"|" '($1=="") || ($1+0 != $1){print $1; cnt++} END{print cnt+0}' File
Run Code Online (Sandbox Code Playgroud)

^[0-9]$对于浮点数或指数数,比较将失败