2010-03-05 48 views
0

我使用的分裂linux命令,以巨大的XML文件分割成節點規模的工廠。問題是現在我有幾十萬個文件的目錄。紅寶石 - 得到目錄中的文件沒有列出所有內容

我想辦法讓從目錄中的文件(傳遞到另一個進程以導入到我們的數據庫),而不需要在這上面列出的一切。這是如何Dir.foreach已經工作?任何其他想法?

+0

Dir.foreach是,如果你要處理的所有文件的解決方案。您可能需要考慮對父XML文件的所有節點文件使用唯一的子目錄(當您使用linux split時)。 – klochner 2010-03-05 18:41:08

+0

是的,這是一個好主意,但它只能部分解決問題,因爲一個文件比其他文件大得多。 – 2010-03-05 20:34:11

回答

3

您可以使用Dir.glob找到你需要的文件。更多細節here,但基本上,你通過它像Dir.glob 'dir/*.rb'模式,並取回文件名匹配模式。我認爲這是以合理的方式完成的,但這取決於你的平臺和實施。

至於Dir.foreach,這應該是有效的太 - 所關心的是,如果它具有處理周圍的循環每次通過整個目錄。但是這將是可怕的實施,情況並非如此。

相關問題