Search

ripgrep:只列印匹配模式的文件名

  • December 3, 2021

使用ripgrep ( rg),我可以只列印與給定模式匹配的文件名嗎?

我正在嘗試做兩件事:

  1. 將模式與路徑名本身匹配(如ag -g pattern
  2. 將模式與文件內容匹配並僅列印文件名

我不知道如何做任何一個。

  1. 僅列印內容匹配的文件名:
rg -l regex
# OR: long-option form
rg --files-with-matches regex
  1. 僅列印與以下給定模式匹配的目錄條目(文件名)<directory>
rg -g '*glob*' --files <directory>

-g指定一個規則匹配.gitignore模式的glob 。

在 glob 前面加上 a!以排除它。

使用--iglob而不是-g不區分大小寫的 glob。

--files列印將在不實際執行搜尋的情況下搜尋的每個文件。


一種不太有效的方法(2)是:

rg -lg '*pattern*' . <directory>

表示匹配文件中的.任何字元(因此它不會匹配空文件)。

引用自:https://unix.stackexchange.com/questions/453183