我的問題是這樣的:我有一些非常大的數據文件(總額達數千兆字節),其中,除了實際的數據,包括文件的開頭有一些註釋行。從開始的文本文件中刪除意見,Ruby或以其他方式
因此,他們是這樣的:
# This is a file containing data.
# Here's how to use it:
# ...
# Now, let's get to the actual data:
DATA DATA DATA
我試圖完成的任務是儘快刪除這些文件的意見,因爲該工具,我用它來他們攝取到我的數據庫不能處理評論。
我目前的方法是這樣的:
# For each data file...
system "sed '/^\\#/d' #{filename} > #{filename}.tmp"
system "mv #{filename}.tmp #{filename}"
這工作,但它需要約1小時的總,因爲文件太大。我的假設是,必須有這樣做的更有效的方式,因爲我知道肯定意見是只是剛剛開始的文件,所以沒有必要搜索整個文件他們。
我不在乎太多的解決辦法是使用純Ruby,或像上面的shell命令,只要它比目前的方法更快。
對不起,澄清,我想刪除整個評論的行,而不是'#'。我不想用空白替換這行,我想完全刪除它。 – 2012-08-10 16:18:36
沒有問題,然後通過dummyrecords替換註釋的線條,這是你知道的唯一途徑,這樣你做一個在線更換,原來的文件保持不變,所有其他解決方案涉及整個文件的複製,它總需要一些時間。您可以從數據庫中清除虛擬記錄。數據結構如何結構化?在哪個數據庫中以及如何導入? – peter 2012-08-10 19:40:22