我已經指派號碼MD5SUMS喜歡一個文件如下:AWK關聯數組生長快
0 0000001732816557DE23435780915F75
1 00000035552C6F8B9E7D70F1E4E8D500
2 00000051D63FACEF571C09D98659DC55
3 0000006D7695939200D57D3FBC30D46C
4 0000006E501F5CBD4DB56CA48634A935
5 00000090B9750D99297911A0496B5134
6 000000B5AEA2C9EA7CC155F6EBCEF97F
7 00000100AD8A7F039E8F48425D9CB389
8 0000011ADE49679AEC057E07A53208C1
另一個文件containts三個每一行MD5SUMS像如下:
00000035552C6F8B9E7D70F1E4E8D500 276EC96E149571F8A27F4417D7C6BC20 9CFEFED8FB9497BAA5CD519D7D2BB5D7
00000035552C6F8B9E7D70F1E4E8D500 44E48C092AADA3B171CE899FFC6943A8 1B757742E1BF2AA5DB6890E5E338F857
我想什麼用第一個文件的整數替換第二個文件中的第一個和第三個md5sum。目前,我想以下awk腳本:
awk '{OFS="\t"}FNR==NR{map[$2]=$1;next}
{print map[$1],$2,map[$3]}' mapping.txt relation.txt
的問題是,該腳本需要更多的16克RAM儘管第一個文件是隻有在硬盤上5.7克。
沒有什麼,你可以在腳本中做不同的處理以減少拆分之外的數量調整文件並分塊進行。如果這就是它所需要的,那就是它所需要的。抱歉。 btw無關 - 將'{OFS ='\ t「}'更改爲'BEGIN {OFS =」\ t「} – 2015-04-05 03:15:27
你不會說第2個文件有多大。如果它與file1的行數相同,那麼我沒有看到16G RAM問題的解決方案。祝你好運。 – shellter 2015-04-05 03:43:47
爲什麼第二個文件的大小很重要?腳本只能用替換方式逐行打印。 – pNRuag 2015-04-05 10:21:55