我解決產品的錯誤。客戶發送了一捆日誌文件。我需要在這些日誌文件中搜索特定的字符串。日誌文件的數量超過了五千個。在5000多個文本文件中搜索特定的字符串。
我不能使用grep,因爲我在Windows機器上工作。
我在這裏有什麼選擇?我正在考慮在java中編寫一個程序,我打開目錄中的每個文本文件並搜索特定的模式。但是我無法找到一個能夠一個接一個地打開每個文件的api。
您能否給我建議一個解決方案。我也可以用C++或C#編寫代碼,可以在那裏構建一個解決方案。
我解決產品的錯誤。客戶發送了一捆日誌文件。我需要在這些日誌文件中搜索特定的字符串。日誌文件的數量超過了五千個。在5000多個文本文件中搜索特定的字符串。
我不能使用grep,因爲我在Windows機器上工作。
我在這裏有什麼選擇?我正在考慮在java中編寫一個程序,我打開目錄中的每個文本文件並搜索特定的模式。但是我無法找到一個能夠一個接一個地打開每個文件的api。
您能否給我建議一個解決方案。我也可以用C++或C#編寫代碼,可以在那裏構建一個解決方案。
Perl。它需要大約三行代碼來搜索目錄中的每個文件以獲取字符串。你可以在半小時內學習足夠的Perl。
我建議安裝Cygwin和用grep
+1'grep'在windows和unix上運行得非常好。 –
而不是怪異的cygwin,國際海事組織,msys將是一個更好的解決方案 –
@DenisTulskiy cygwin有什麼問題?我從來沒有遇到任何問題。 – Minion91
如果需要只能手動做到這一點,那麼就安裝任何像樣的編輯器(我的建議是http://notepad-plus-plus.org/),並利用其發現功能於文件的功能。
如何使用命令提示符下的findstr命令。
這適用於Windows XP。我不知道更新的版本。
單擊Windows開始按鈕 單擊搜索 將打開一個新窗口。在左下角,點擊「點擊此處使用Windows搜索助理」 另一個窗口將打開。 在標有「文件中的單詞或短語」的文本框中鍵入您要查找的內容。 在標記爲「查找」的組合框中,在最下方選擇「瀏覽...」並選擇包含所有日誌文件的文件夾。 點擊「搜索」 等待結果...
注意:有2個搜索程序。第一個只發現索引的東西,這就是爲什麼你應該使用第二個搜索程序。
祝你好運!
考慮當處理大型文件時,它非常棒。你可以在Cygwin下使用它,你可以在Windows上使用它。請使用cheat sheets快速學習。
我認爲@Ritwik更關心編程的時間性能 – BlackBada
@BlackBada - 我的觀點是如果有人不熟悉Perl,那麼很容易就能實現這一點。 –