คำถามของฉันคล้ายกับคำถามนี้แต่มีข้อ จำกัด ที่แตกต่างกันสองข้อ:
- ฉันมี
\n
รายการคำศัพท์ที่คั่นขนาดใหญ่- หนึ่งคำต่อบรรทัด ขนาดไฟล์มีตั้งแต่ 2GB ถึงใหญ่ถึง 10GB - ฉันต้องการลบบรรทัดที่ซ้ำกัน
- กระบวนการอาจเรียงลำดับรายการในระหว่างการลบรายการที่ซ้ำกัน แต่ไม่จำเป็น
- มีพื้นที่ว่างเพียงพอบนพาร์ติชันเพื่อเก็บ wordlist ใหม่ที่ไม่ซ้ำใคร
ฉันลองทั้งสองวิธีนี้แล้ว แต่พวกเขาทั้งสองล้มเหลวโดยไม่มีข้อผิดพลาดของหน่วยความจำ
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)
ฉันจะลองวิธีอื่นได้อย่างไร
ดูวิธีแก้ปัญหาโดยใช้ awk unix.stackexchange.com/a/30178/56820
—
ezdazuzena