如果要使用awk匹配一个单词例如 win ,而不是 winner 或者 twin 这些包含 win 的单词,就需要使用正则表达式转义字符的边界字符 \b。这样只匹配 win 的正则表达式应该是 /\bwin\b/ 。
但是awk不识别\b, 例如有一个文件test内容如下:
win
winner
twin
使用 awk "/\bwin\b/" test 结果为空,如下图:
解决方法是使用 \< 和 \> 作为边界,即 awk "/\<win\>/" test,成功匹配:
如果要使用awk匹配一个单词例如 win ,而不是 winner 或者 twin 这些包含 win 的单词,就需要使用正则表达式转义字符的边界字符 \b。这样只匹配 win 的正则表达式应该是 /\bwin\b/ 。
但是awk不识别\b, 例如有一个文件test内容如下:
win
winner
twin
使用 awk "/\bwin\b/" test 结果为空,如下图:
解决方法是使用 \< 和 \> 作为边界,即 awk "/\<win\>/" test,成功匹配: