grep 中的 emacs-like "ignore case"

emacs-like "ignore case" in grep

如果搜索字符串是小写,emacs 中的增量搜索默认不区分大小写,一旦搜索字符串中出现大写字母,就会切换到区分大小写。在 less 中搜索的方式相同。

是否有在 grep 中获得类似行为的选项?或者也许在 grep 克隆中?

在现代 grep 中,我们可以 select 从以下选项中选择:

  1. 基本正则表达式(区分大小写或不区分大小写)
  2. 扩展(现代 Awk-ish)正则表达式(区分大小写或不区分大小写)
  3. Perl 正则表达式(区分大小写或不区分大小写)
  4. 完全匹配(区分大小写或不区分大小写)
  5. 在上述所有情况下,我们还可以反转匹配

如果我们想要更多...AWK 可能是我们的朋友。

https://github.com/BurntSushi/ripgrep-S, --smart-case 选项,其行为与您描述的一样。

默认递归搜索,排除.gitignore等匹配的文件,忽略隐藏文件和目录等。

您可以使用 -g 选项来 include/exclude 匹配给定 glob 模式的文件。

有关示例,请参阅我的教程 ripgrep: Recursive options