ฉันมี FILE_A ซึ่งมีมากกว่า 300,000 บรรทัดและ FILE_B ซึ่งมีมากกว่า 30 ล้านบรรทัด ฉันสร้างสคริปต์Bashที่ greps แต่ละบรรทัดใน FILE_A มากกว่าใน FILE_B และเขียนผลลัพธ์ของ grep ไปยังไฟล์ใหม่
กระบวนการทั้งหมดนี้ใช้เวลานานกว่า 5 ชั่วโมง
ฉันจะปรับปรุงประสิทธิภาพของสคริปต์ได้อย่างไร
ฉันใช้grep -F -m 1
เป็นคำสั่ง grep FILE_A มีลักษณะดังนี้:
123456789
123455321
และ FILE_B เป็นเช่นนี้:
123456789,123456789,730025400149993,
123455321,123455321,730025400126097,
ดังนั้นด้วย Bash ฉันมีwhile
วนรอบที่เลือกบรรทัดถัดไปใน FILE_A และ greps มากกว่าใน FILE_B เมื่อพบรูปแบบใน FILE_B ฉันเขียนลงในไฟล์ result.txt
while read -r line; do
grep -F -m1 $line 30MFile
done < 300KFile