2017-05-09 35 views
-1

我希望能夠將多個文本文件提供給某個命令,並且除了其中一個文件之外的所有文件都被刪除了重複的行......有什麼想法?從除了一組文件之外的所有文件中刪除重複的行?

澄清 - 我的意思是我不希望之間的任何文件重複行。因此,如果文件#1具有「A」,「B」和「C」,並且文件#2具有「C」,「D」和「E」,那麼我正在尋找代碼擺脫文件#2中的「C」,但不是文件#1。

回答

0

嘗試以下操作:

for f in ${FILES}; do 
    # skip THE_FILE 
    if [ "${f}" = "THE_FILE" ]; then 
     continue 
    fi 
    # remove duplicate lines 
    cat "${f}" | sort | uniq > "${f}".dedup 
done 
+0

我可能是下面的代碼錯了,但我不認爲我自己清楚,所以我更新我的帖子用一個例子。 – Max

+0

檔案有多大?您是否定期添加新文件,或者應該是一次性拍攝? –

+0

每個10至30gb。這將是一次性的事情,所以如果它需要一段時間並不重要。但是我希望這個方法能夠處理兩個以上的文件,所以合併,排序和分割似乎是一個糟糕的主意。除了刪除除一個文件以外的所有重複項,另一個可能發生的情況是將任何重複項從* all *文件中刪除並插入到它們自己的duplicates.txt文件中......會更容易嗎? – Max

相關問題