Awk打印匹配精确的列内容

hen*_*dry 2 awk

echo -e "55 11\n25 11.0" | awk '$2 ~ /11/{print $1}'
Run Code Online (Sandbox Code Playgroud)

我只想匹配"11",而不是"11.0"的值25.任何提示?

Joh*_*web 5

匹配整个领域:

% echo -e "55 11\n25 11.0" | awk '$2 ~ /^11$/{print $1}'
55
Run Code Online (Sandbox Code Playgroud)

如果你确实想要用数字匹配,你当然不应该使用正则表达式(你当前的那个也会匹配6119.42):

% echo -e "55 11\n25 11.0" | awk '$2 == 11 { print $1 }'
55
25
Run Code Online (Sandbox Code Playgroud)

  • `==`的+1 - 你不需要所有的正则表达式. (2认同)