Câu hỏi của tôi tương tự như câu hỏi này nhưng với một vài ràng buộc khác nhau:
- Tôi có một
\n
danh sách từ được phân cách lớn - một từ trên mỗi dòng. Kích thước của các tệp từ 2 GB đến lớn nhất là 10 GB. - Tôi cần phải loại bỏ bất kỳ dòng trùng lặp.
- Quá trình có thể sắp xếp danh sách trong quá trình loại bỏ các bản sao nhưng không bắt buộc.
- Có đủ không gian trên phân vùng để giữ danh sách từ duy nhất mới xuất ra.
Tôi đã thử cả hai phương pháp này nhưng cả hai đều thất bại với lỗi bộ nhớ.
sort -u wordlist.lst > wordlist_unique.lst
awk '!seen[$0]++' wordlist.lst > wordlist_unique.lst
awk: (FILENAME=wordlist.lst FNR=43601815) fatal: assoc_lookup: bucket-ahname_str: can't allocate 10 bytes of memory (Cannot allocate memory)
Những cách tiếp cận khác tôi có thể thử?
Hãy xem giải pháp bằng cách sử dụng awk unix.stackexchange.com/a/30178/56820
—
ezdazuzena