Grep 词匹配

aga*_*ain -1 grep

这很奇怪。我只想 grep 包含/run. 但它也返回其他行。

  [root@s5 ~]# df -h | grep -w "tm"
    [root@s5 ~]# df -h | grep -w "tmpfs"
    tmpfs                    489M     0  489M   0% /dev/shm
    tmpfs                    489M  6.8M  483M   2% /run
    tmpfs                    489M     0  489M   0% /sys/fs/cgroup
    tmpfs                     98M     0   98M   0% /run/user/1001
    tmpfs                     98M     0   98M   0% /run/user/0
    [root@s5 ~]# df -h | grep -w "tmpf"
    [root@s5 ~]# df -h | grep -w "/run"
    tmpfs                    489M  6.8M  483M   2% /run
    tmpfs                     98M     0   98M   0% /run/user/1001
    tmpfs                     98M     0   98M   0% /run/user/0
Run Code Online (Sandbox Code Playgroud)

Mur*_*phy 5

男人 grep

-w, --word-regexp 仅选择包含构成整个单词的匹配项的那些行。测试是匹配的子字符串必须位于行首或前面是非单词组成字符。同样,它必须位于行尾或后跟非单词组成字符。单词组成字符是字母、数字和下划线。

我说,按预期工作。如果您只想获得第一场比赛,您应该使用

$ df -h | grep -w "/run$"
Run Code Online (Sandbox Code Playgroud)