2017-04-26 69 views
2

我試圖通過100個文件夾遞歸地遞增grep,每個文件夾中都有20000-40000個文件。grep --include =「」比文件名需要更長的時間

如果我去到一個文件夾,然後運行:

grep -l "Search_String" File_Name_Starts_With* | xargs ls -lt 

它返回的結果,我想,在不到1秒。

如果我運行:

grep -l --include="File_Name_Starts_With*" "Search_String" | xargs ls -lt 

坐在那裏很長一段時間... 15分鐘是我讓它取消之前沒有結果坐的時間最長。

我認爲我做錯了什麼,因爲這是我的第一次嘗試。

+0

我想使用grep你仍然需要包括路徑或者文件名。在第二個例子中,你是不是這樣做,使可以解釋爲什麼grep需要更長的時間。你可以嘗試這樣的:'''grep -l --include =「File_Name_Starts_With *」「Search_String」。 | xargs ls -lt'''並建議它提供什麼輸出? – ryekayo

+0

當我搜索不同的文件夾時,第一次搜索需要大約50秒 –

+0

在第二次搜索時,由於您是第一次搜索,因此您沒有提供目錄路徑或文件名。那就是你的問題 – ryekayo

回答

1

我想我會把我的評論作爲答案。在你第二次搜索,您需要提供一個目錄路徑或文件:

相關問題