grep/egrep 是否有“rc”配置文件?(~/.egreprc?)

Som*_*DOS 46 grep configuration options alias

我通常grep在开发时使用,并且有一些扩展我总是想排除(例如*.pyc)。

是否可以创建一个~/.egreprc或类似的东西,并添加过滤以pyc从所有结果中排除文件?

这是可能的,还是我必须创建一个grep以这种方式使用的别名,并调用别名而不是grep

Gil*_*il' 76

不,grep 没有 rc 文件。

GNU grep 2.4 到 2.21 应用了来自环境变量的选项GREP_OPTIONS,但最近的版本不再支持它。

对于交互使用,请在 shell 初始化文件(.bashrc.zshrc)中定义别名。我使用以下变体:

alias regrep='grep -Er --exclude=*~ --exclude=*.pyc --exclude-dir=.bzr --exclude-dir=.git --exclude-dir=.svn'
Run Code Online (Sandbox Code Playgroud)

如果您调用 alias grep,并且偶尔想在grep没有选项的情况下调用,请键入\grep。反斜杠绕过别名。

  • @Legate:一个重要的区别是`GREP_OPTIONS` 会影响脚本中的`grep` 调用,而别名不会。所以`GREP_OPTIONS` 应该谨慎使用。最常见的用法是`--color=auto`,它在脚本中原则上是无害的,因为它只有在输出是终端时才会生效。 (4认同)
  • 不推荐使用 GREP_OPTIONS;请使用别名或脚本 (2认同)