วิธีที่รวดเร็วในการค้นหาบรรทัดในไฟล์หนึ่งที่ไม่ได้อยู่ในอีก?
ฉันมีไฟล์ขนาดใหญ่สองไฟล์ (ชุดชื่อไฟล์) ประมาณ 30,000 บรรทัดในแต่ละไฟล์ ฉันพยายามค้นหาวิธีที่รวดเร็วในการค้นหาบรรทัดใน file1 ที่ไม่ปรากฏใน file2 ตัวอย่างเช่นถ้านี่คือ file1: line1 line2 line3 และนี่คือ file2: line1 line4 line5 ดังนั้นผลลัพธ์ / ผลลัพธ์ของฉันควรเป็น: line2 line3 งานนี้: grep -v -f file2 file1 แต่มันช้ามากเมื่อใช้กับไฟล์ขนาดใหญ่ของฉัน ฉันสงสัยว่ามีวิธีที่ดีในการทำเช่นนี้โดยใช้ diff () แต่ผลลัพธ์ควรเป็นเพียงแค่เส้นไม่มีอะไรอื่นและฉันไม่สามารถหาสวิตช์ได้ ใครช่วยฉันหาวิธีที่รวดเร็วในการทำเช่นนี้โดยใช้ทุบตีและไบนารีลินุกซ์ขั้นพื้นฐาน? แก้ไข: เพื่อติดตามคำถามของฉันนี้เป็นวิธีที่ดีที่สุดที่ฉันได้พบโดยใช้ diff (): diff file2 file1 | grep '^>' | sed 's/^>\ //' …