小编SED*_*D85的帖子

为什么“grep -w”匹配后面带有连字符/减号(“-”)的单词?

我需要询问您有关grep在 Debian 中的 Bash 脚本中使用命令的问题。

我有包含以下几行的示例文件:

/fruit-/apple.txt
/fruit-/banana.txt
/fruit-/samples
/vegetables-/carrot.txt
/vegetables-/garlic.txt
Run Code Online (Sandbox Code Playgroud)

我想选择包含 word 的所有行fruit-

我可以调用命令:

grep -w "fruit-" file.txt
Run Code Online (Sandbox Code Playgroud)

输出将是:

/fruit-/apple.txt
/fruit-/banana.txt
/fruit-/samples
Run Code Online (Sandbox Code Playgroud)

但是当我使用命令时:

grep -w "fruit" file.txt
Run Code Online (Sandbox Code Playgroud)

我也得到与上面相同的输出。但这是错误的。输出应该是 0。因为我没有输入-模式。

为什么不正确grep对待-呢?

grep regular-expression pattern-matching

1
推荐指数
1
解决办法
860
查看次数