只有当字段可以转换为整数时才打印
如果我有这个示例文本文件
1 cat
2 dog
3 7
4 fish5
5 22
我希望我的awk脚本只打印可以转换为整数的字段。
我不想要打印第1、2和4行。
示例awk脚本
BEGIN {
print "testing conversion to integer on " ARGV[1];
myinteger = 0; # my atmept to force this var to an integer
}
myinteger = $2;
myinteger != 0 { print $2; }
这个不起作用。
我该如何让它起作用?
$ echo "1e2" | awk '$1 + 0 == $1'
的输出是1e2
,请尝试输入"1.2"
。 - Ed Mortonawk '/[a-z]/{next}{print $0}' file.txt
更新,不需要{print $0}
,你需要特别检查你正在处理的字段 $2,所以应该写成awk '$2~/[a-z]/{next}'
,但这将允许带标点符号或其他非字母数字字符的字段,并且还有其他问题。 - Ed Morton