আমার কাছে FILE_A রয়েছে যার 300,000 এর বেশি লাইন এবং FILE_B এর 30 মিলিয়নের বেশি লাইন রয়েছে আমি একটি বাশ স্ক্রিপ্ট তৈরি করেছি যা FILE_A- এ FILE_B- র প্রতিটি লাইনকে গ্রিপ করে এবং গ্রেপের ফলাফলটি একটি নতুন ফাইলে লিখি।
এই পুরো প্রক্রিয়াটি 5 ঘন্টা সময় নিচ্ছে।
আমি কীভাবে আমার স্ক্রিপ্টের পারফরম্যান্স উন্নত করতে পারি?
আমি grep -F -m 1
গ্রেপ কমান্ড হিসাবে ব্যবহার করছি । FILE_A এর মতো দেখাচ্ছে:
123456789
123455321
এবং FILE_B এর মতো:
123456789,123456789,730025400149993,
123455321,123455321,730025400126097,
বাশের সাহায্যে আমার কাছে একটি while
লুপ রয়েছে যা পরের লাইনটিকে FILE_A এ টানবে এবং এটিকে FILE_B এ চেপে ধরবে। যখন প্যাটার্নটি FILE_B এ পাওয়া যায়, আমি এটিকে ফাইল রেজাল্ট টেক্সটে লিখি।
while read -r line; do
grep -F -m1 $line 30MFile
done < 300KFile