您好我正在處理大量數據的項目。我有一個包含鍵值對的大約2 GB的文本文件,每個鍵都有多個值。 我需要提取不同文件中的所有密鑰,因爲我需要用於測試特定功能的密鑰。用於從文本文件中提取特定模式信息的腳本
文件的格式爲:
:k: k1 :v: {XYZ:{id:"k1",score:0e0,tags:null},ABC:[{XYZ:{id:"k1",score:0e0,tags:null},PQR:[{id:"ID1",score:71.85e0,tags:[{color:"DARK"},{Type:"S1"},{color:"BLACK"}]},MetaData:{RuleId:"R3",Score:66.26327129015809e0,Quality:"GOOD"}},{XYZ:{id:"k1",score:0e0,tags:null},PQR:[..(same as above format)..],MetaData:{RuleId:"R3",Score:65.8234565409752e0,Quality:"GOOD"}} ::
//same pattern repeats with different keys, and a new line
當我搜索 「:K:」 用CTRL + F在文件中,這些鍵只得到強調。所以我認爲這種模式是沒有在文件中的行,除了開始的行
像這些有成千上萬的鍵。
我想把所有這些密鑰(k1,k2)提取到一個單獨的文件中進行測試。
有多行:k:並且想要在單獨的文件中分開(k1,k2,..)。我怎樣才能做到這一點?
Python對我也很好。我可以在python中使用正則表達式,也可以使用「sed」shell命令。請在這裏幫助我如何使用這些來提取密鑰。
有人可以幫我寫一個shell/python腳本。我知道它非常微不足道,但我是所有這類數據處理的新手。
同樣專注於優化運行時間,因爲數據非常大。
我不會稱之爲_very trivial_。你能否提供一個真實的文件示例(不包括'...') –
我已更新該文章!讓我知道你想知道的其他事情! – user2621826
所以你想爲文件中的每個「第一個單詞」(:k :)創建一個單獨的文件? ':k:'有多行?如果是這樣,你想單獨的文件包含所有':k:'記錄,第一個,最後一個或? 。 (你的要求不清楚)。祝你好運。 – shellter