2014-07-25 56 views
0

使用find和globbing,如何查找給定目錄中的絕對路徑(或甚至只是相對於給定目錄的路徑)以/foldername/otherfolder/*.php結尾的所有文件?查找絕對路徑以某種模式結束的所有文件

+1

不知道文學是指單個層次的glob開始,還是隻是整個路徑以'/ foldername/otherfolder/*。php'結尾的文件。我把它理解爲後者。否則,你可以只使用'-path'或者省略'find'並且執行'echo */foldername/otherfolder/* .php' – BroSlow

+0

對不起,如果不清楚的話。你是對的 - 它是後者。 –

+1

沒問題,稍微更新了問題以使其更清楚。 – BroSlow

回答

2

假設你的意思文件,其全路徑/foldername/otherfolder/*.php結束,您可以只使用-regex選項

find -regex '.*/foldername/otherfolder/[^/]*.php' 

-regex要麼相對或絕對路徑上操作(取決於你提供什麼,默認相對於$PWD)並使用emacs類型。

+0

謝謝,這正是我正在尋找的。我一定忽略了man page中的regex選項。 –

+0

事實證明,由於某種原因,我的系統上無法識別正則表達式選項(Mac/10.9.4)。我試圖使用選項'-E',它應該做同樣的事情,但它只是打印出每一個文件。這是我給它的:'find -E /'^。* php/configure $''任何提示? –

+0

@AmadeusDrZaius在BSD find上應該還有一個'-regex'選項,嘗試'find -E -regex ...' – BroSlow