echo -e "55 11\n25 11.0" | awk '$2 ~ /11/{print $1}'
我只想匹配“11”,而不是“11.0”的值25.任何提示?
答案 0 :(得分:5)
匹配整个领域:
% 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
答案 1 :(得分:0)
echo -e "55 11\n25 11.0" | awk '$2 ~ /^11$/ {print $1}'
答案 2 :(得分:0)
确保最后一个字段不包含小数点。
[jaypal:~/Temp] echo -e "55 11\n25 11.0" | awk '$NF!~/\./{print $1}'
55