ripgrep:仅打印文件名匹配模式

Tom*_*ale 25 search ripgrep

使用ripgrep ( rg),我可以只打印与给定模式匹配的文件名吗?

我正在尝试做两件独立的事情:

  1. 将模式与路径名本身匹配(如ag -g pattern
  2. 将模式与文件内容匹配并仅打印文件名

我无法弄清楚如何做任何一个。

Tom*_*ale 42

  1. 仅打印内容匹配的文件名:

    rg -l regex
    
    Run Code Online (Sandbox Code Playgroud)

  1. 仅打印与以下给定模式匹配的目录条目(文件名)<directory>

    rg -g '*glob*' --files <directory>
    
    Run Code Online (Sandbox Code Playgroud)

    -g指定水珠其规则匹配.gitignore模式。在 glob 前面加上 a!以排除它。

    使用--iglob,而不是-g为不区分大小写的水珠。

    --files 打印将要搜索的每个文件,而无需实际执行搜索。


执行(2)的效率较低的方法是:

    rg -lg '*pattern*' . <directory>
Run Code Online (Sandbox Code Playgroud)

.说以匹配文件(这样就不会匹配空文件)内的任何字符。