انجمن کاربران لینوکس ایران - تکنوتاکس سابق
محاسبه تعداد تكرار يك ركورد در يك فايل - نسخه قابل چاپ

+- انجمن کاربران لینوکس ایران - تکنوتاکس سابق (https://forum.sito.ir)
+-- انجمن: پرسش‌ها و پاسخ‌ها (https://forum.sito.ir/forumdisplay.php?fid=3)
+--- انجمن: لینوکس و برنامه نویسی (https://forum.sito.ir/forumdisplay.php?fid=13)
+--- موضوع: محاسبه تعداد تكرار يك ركورد در يك فايل (/showthread.php?tid=15947)



محاسبه تعداد تكرار يك ركورد در يك فايل - Pari_programmer - 2010-06-01

سلام
من يه فايل متني خيلي بزرگ دارم حدود 2 ميليون ركورد توش ذخيره شده. ميخوام تعداد تكرار هر ركورد توي اين فايل رو محاسبه كنم و توي يه فايل ديگه ذخيره كنم. فرمت فايلم اين جوريه:
کد :
string1  string2
يعني هر ركورد از دو رشته تشكيل شده كه ممكنه بعضي از ركوردها بارها توي فايل تكرار شده باشن. حالا ميخوام تعداد تكرار هر خط (ركورد) رو محاسبه كنم و توي فايل بريزم. اومدم توي C++ بنويسم ديدم خيلي زمانگيره. گفتم شايد با perl يا با اسكريپت هاي لينوكس راحتتر و سريعتر باشه. اما هر چي گشتم نتونستم مطلب بدرد بخوري پيدا كنم. كسي ميدونه چيكار بايد كرد؟


پاسخ: محاسبه تعداد تكرار يك ركورد در يك فايل - PC2st - 2010-06-01

فکر خوبی کردی که برای این کار یک برنامهٔ ++C ننوشتی Smile چون این کار به راحتی در شل با دستور زیر صورت می‌گیرد:

کد :
cat FILENAME | uniq -c -d



پاسخ: محاسبه تعداد تكرار يك ركورد در يك فايل - Pari_programmer - 2010-06-03

سلام. ممنونم.
واقعا عالي بود. دمت گرم. من كد سي اين برنامه رو نوشتم اما بعد از 30 دقيقه ديدم هنوز خيلي مونده تا تموم بشه، بيخيالش شدم. اما با اين كد در كمتر از 1 دقيقه كارش تموم شد.
باز هم ممنونم. خدانگهدار