2017-04-05 40 views
1

比方說,我有一個目錄的兩個文件:如何僅使用ag搜索以特定字符開頭的文件?

.test 
test.txt 

如何限制我的ag搜索只用.開頭的文件?

我嘗試了一些模式,但都沒有工作。

+0

嗯,我偶然發現了使用zsh的擴展來做到這一點,但它只能通過列出當前目錄中的文件('ag foo。*',其中'。*'解析爲'.test')來工作。這對我目前的需求來說沒問題,但作爲一個強大的解決方案並不令人滿意 – astephenb

回答

1

如何將我的ag搜索限制爲只以。開頭的文件?

像這樣:

ag -u -G ^\..*$ PATTERN 

在您的例子,該文件.test是隱藏的,所以選項-u就派上用場了。這個選項可能是你在搜索時錯過的。

讓我解釋的正則表達式^\..*$

  • ^表示:字符串
  • \.的開始意味着:點字符
  • .*表示:任何字符.任意次數*
  • $是可選的;它標誌着字符串的結尾匹配

注:我打開了股份公司bug tracker,因爲我看到搜索並不侷限於文件的名字開始與.,因爲它應該是這個正則表達式。


更一般地,來搜索文件名匹配正則表達式,可以使用:

ag -G REGEX PATTERN 

(同ag --file-search-regex REGEX PATTERN

檢查手冊上AG的資料。

+0

啊,所以這是目前的一個bug!我嘗試了許多變化,沒有運氣。小心鏈接到問題,所以我可以遵循? – astephenb

+0

當然!我編輯了我的答案。 – Bludzee

+0

我更新了錯誤跟蹤器以提供調試信息(使用ag選項'-D')。 – Bludzee

相關問題