gpt4 book ai didi

regex - 在 Mac OS X 上使用 awk 匹配确切的单词

转载 作者:行者123 更新时间:2023-12-05 01:02:59 24 4
gpt4 key购买 nike

尝试在 Mac OS X 上使用 awk。一个例子:

$ echo "abc stock def" | awk /stock/ 
abc stock def
$ echo "abc stockholder def" | awk /stock/
abc stockholder def

当我尝试用 awk 精确匹配一个单词时遇到了麻烦。例如,我想匹配 stock仅代替 stockholder在上面的例子中。我试过 \< , \> , \b , \y .然而,他们都没有给我预期的结果。

谢谢

最佳答案

你可以像这样使用正则表达式:

$> echo "abc stock def" | awk '/(^| )stock( |$)/'
abc stock def

$> echo "abc restock def" | awk '/(^| )stock( |$)/'
$>

更新:要匹配除空格或开始/结束 anchor 以外的更多边界,请使用此正则表达式:

$> echo "abc-stock-def" | awk '/[^[:alnum:]]stock[^[:alnum:]]/'
abc-stock-def

$> echo "abc-stocks-def" | awk '/[^[:alnum:]]stock[^[:alnum:]]/'
$>

我还在我的 Mac 上通过 homebrew 安装了 gnu-awk,我可以使用它:

echo "abc stock def" | gawk '/\<stock\>/'
abc stock def

$> echo "abc restock def" | gawk '/\<stock\>/'
$>

关于regex - 在 Mac OS X 上使用 awk 匹配确切的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23490789/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com