gpt4 book ai didi

macos - grep --include 命令在 OSX Zsh 中不起作用

转载 作者:行者123 更新时间:2023-12-04 10:00:16 25 4
gpt4 key购买 nike

我正在按照 How do I find all files containing specific text on Linux? 上的最佳答案在我的项目中搜索字符串。

这是我的命令 grep --include=*.rb -rnw . -e "pattern"
Zsh 告诉我 zsh: no matches found: --include=*.rb
似乎 grep 不支持 --include 选项。

当我输入 grep --help 时,它返回

usage: grep [-abcDEFGHhIiJLlmnOoPqRSsUVvwxZ] [-A num] [-B num] [-C[num]]
[-e pattern] [-f file] [--binary-files=value] [--color=when]
[--context[=num]] [--directories=action] [--label] [--line-buffered]
[--null] [pattern] [file ...]

这里没有 --include

我的 grep 版本太旧了吗?还是我的命令有问题?

最佳答案

FreeBSD/macOS grep 确实支持 --include 选项(请参阅 man grep ;不幸的是,命令行帮助 ( grep -h ) 没有列出此选项),但是 您的问题在于参数 *.rb 未加引号

因此,是您的 shell zsh 尝试预先对 --include=*.rb 进行路径名扩展,但失败了,因为当前目录不包含名称与 glob 模式 *.rb 匹配的文件。grep 甚至永远不会执行。

由于您的意图是将 *.rb 未经修改地传递给 grep ,因此您必须引用它 :

grep --include='*.rb' -rnw . -e "pattern"     

关于macos - grep --include 命令在 OSX Zsh 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24197179/

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