如何使用 awk 对文件的特定列(例如 $2)进行字母数字验证?

如何使用 awk 对文件的特定列(例如 $2)进行字母数字验证?

如何$2使用 awk 对文件的特定列(例如 )执行字母数字验证?

例如我尝试过:

awk -F, '{if ($10==(/[0-9a-zA-Z]/)) count+=1;} END {print count}' final.csv

我没有收到任何错误或结果。

答案1

像这样的东西应该有效:

awk -F, '$10 ~ /^[[:alnum:]]+$/ { count++ } END{ print count+0 }'

答案2

你也许可以这样做:

awk '$10 ~ /^[0-9a-zA-Z]+$/ {count++} END{print count}' file

这对我也适用:检查从0z,是范围内的所有数字和字母。

awk '$10 ~ /^[0-z]+$/ {count++} END{print count}' file

这个想法是检查给定字段($10在您的情况下)是否仅基于一组字母数字字符。这是通过使用^$来指示字段的开始和结束来完成的。

相关内容