我試圖採取一個文件的內容和ls的輸出,刪除所有重複(不保留任何),並把它放回來到另一個文件中,減去「ls」的輸出。例如,如果文件 「file.txt的」 載:以兩個輸入,刪除換行符分隔的重複,並返回輸出在bash或java
hello
world
test
hi
mom
而 「LS」 的回報:
index
test
worm
folder
我想輸出包含:
hello
world
hi
mom
忽略的測試,因爲它在ls的輸出中。一個主要的問題是,你可以預期ls和file.txt的輸出非常大,如ls輸出中的數百萬行,甚至可能是數百萬行文件中的行。
我將有很多行,因爲我試圖找到每一個URL/URI的互聯網,這是....大的:P
而且我進入一個關於磁盤空間的談話之前,我做了數學,並計算了大約600 GB的磁盤空間(因爲它只是文本),但是我可能錯了/關幾TB。
我有幾個100 GB的RAM,但是,我仍然想要儘可能多地保存RAM。
它將被衆包,因此甚至不能進入帶寬。無論如何,我有幾個GB /秒。
如果這不能滿足您的需求,請考慮它是一種理論情況,我仍然需要一次保存最大的硬盤空間(意味着儘可能少的臨時文件),而且RAM一個時間,意思是儘可能少加載一個文件。
所以我忘了提及file.txt的第一行需要保持第一行......哦。我即興創作: ls | sort> ls.txt; head -n 1 file.txt> temp.txt; tail -n +2 file.txt | sort> file.temp; cat temp.txt; comm -23 file.temp ls.txt; rm file.temp ls。txt temp.txt; 如果你能想到一個更好的方式來做到這一點,隨時告訴我! – Roguebantha