echo -e "55 11\n25 11.0" | awk '$2 ~ /11/{print $1}'
我只想匹配“11”,而不是“11.0”的值 25。有什么提示吗?
最佳答案
匹配整个字段:
% echo -e "55 11\n25 11.0" | awk '$2 ~ /^11$/{print $1}'
55
如果您确实想要进行数字匹配,当然您不应该使用正则表达式(您当前的表达式也将匹配 6119.42):
% echo -e "55 11\n25 11.0" | awk '$2 == 11 { print $1 }'
55
25
关于awk 打印匹配精确的列内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8829696/