多年来我一直愉快地使用 grep,没有任何问题,但从今天起它就停止工作了。在过去的一个小时里,我试过这样那样,但够了,我在这里发布了这个混蛋:
使用最简单的命令
grep 'aaa' file.txt
我得到这个:grep: aaa: No such file or directory
因此grep
不会将第一个参数解释为应有的模式,而是将其视为路径。
请帮帮我,我快要疯了’-(
答案1
我的 ~/.profile 中有类似这样的内容:
export GREP_OPTIONS='--color=always'
但语法错误。一些格式错误的参数被传递给 grep,导致一切都崩溃。删除该行解决了问题。
答案2
你可能为 grep 设置一个别名。例如:
$ grep aaa qq.s
$ alias grep='grep zzz'
$ grep aaa qq.s
grep: aaa: No such file or directory
答案3
我遇到了同样的问题。如果您将 .bash_profile GREP_OPTIONS 行中的单引号更改为双引号,则可以解决该问题。这有效:
export GREP_OPTIONS="--color=auto"
使用单引号的相同导出不起作用。这与 bash 解释单引号和双引号的方式有关。这可能会提供额外的指导:http://www.gnu.org/software/bash/manual/bashref.html#Double-Quotes