ڈپلیکیٹ لائنیں ہٹائیں
فہرست صاف کریں: دہرائی گئی لائنیں ہٹائیں، صحیح طرح ترتیب دیں، خالی لائنیں نکالیں۔ یہ خاموشی سے آپ کی فہرست چھوٹی کرنے کے بجائے بتاتا ہے کہ کون سی لائنیں دہرائی گئی تھیں اور کتنی بار۔
- کبھی محفوظ نہیں کی جاتی
- نہ قطار، نہ انتظار
- نہ سائن اپ، نہ واٹر مارک
نتیجہ یہاں نظر آئے گا۔
یہ کیسے کام کرتا ہے
اپنی فہرست پیسٹ کریں
ای میلز، URLs، پروڈکٹ کوڈز، ہر لائن میں ایک کچھ بھی۔ یا ٹیکسٹ فائل ڈراپ کریں۔
طے کریں کہ “ایک جیسا” کیا ہے
آخر کی اسپیس نظر انداز کریں، بڑے چھوٹے حروف نظر انداز کریں، پہلی یا آخری کاپی رکھیں — یا ہر وہ لائن ہٹا دیں جس کا کوئی بھی ڈپلیکیٹ تھا۔
ترتیب دیں اور صاف کریں
قدرتی ترتیب دیں، الٹی ترتیب کریں، بے ترتیب کریں، لائنوں پر نمبر لگائیں یا خالی لائنیں ہٹائیں — پھر نتیجہ کاپی کریں۔
جو لائنیں آپ رکھتے ہیں ان کا کیا ہوتا ہے
اس صفحے پر اسپیس سنبھالنے کے دو مختلف طریقے ہیں اور بہتر ہے کہ انہیں گڈمڈ نہ کریں۔ موازنے کے لیے تراشنا صرف key بناتا ہے اور آپ کی لائنوں کو کبھی ایڈٹ نہیں کرتا — جو کاپی باقی رہتی ہے اس کی اصل اسپیسنگ بالکل ویسی ہی رہتی ہے۔ صفائی والے آپشنز اس کے الٹ کرتے ہیں: انڈینٹیشن ہٹانا، اسپیسز اور ٹیبز کے سلسلوں کو ایک کرنا، اور لائنوں کے سرے تراشنا اصل ایڈٹس ہیں، اور یہ ڈپلیکیٹس ہٹانے سے پہلے ہوتے ہیں، اس لیے ان میں سے کوئی آن کرنے سے خاموشی سے یہ بھی بدل جاتا ہے کہ ڈپلیکیٹ کسے مانا جائے، اور یہ بھی کہ لائنیں کیسی دکھتی ہیں۔
خالی لائن کا موازنہ بھی کسی دوسری لائن کی طرح ہوتا ہے، جس کا مطلب ہے کہ پہلی کے بعد ہر خالی لائن باقی ڈپلیکیٹس کے ساتھ غائب ہو جاتی ہے — پیراگراف کے وقفوں والی فہرست میں صرف ایک خالی لائن باقی رہتی ہے، اسی جگہ جہاں پہلی تھی۔ اور جو دہرایا گیا اس کی رپورٹ آپ کی لائن نہیں بلکہ key دکھاتی ہے: تراشی ہوئی، اور اگر آپ نے بڑے چھوٹے حروف نظر انداز کرنے کو کہا ہو تو چھوٹے حروف میں۔ اس لیے جو اندراج آپ کی فہرست میں Smith اور SMITH دونوں صورتوں میں ہو، وہ ایک بار، چھوٹے حروف میں، دو کی تعداد کے ساتھ رپورٹ ہوتا ہے۔ یہ فہرست پچاس سب سے عام اندراجات تک محدود ہے۔
اندر جو بھی جائے، باہر آنے والا نتیجہ صرف line feeds سے جڑا ہوتا ہے، اس لیے Windows فائل سے پیسٹ کی گئی فہرست راستے میں اپنے carriage returns کھو دیتی ہے — عموماً آپ یہی چاہتے ہیں، اور اگر آپ نتیجہ واپس کسی ایسی چیز میں پیسٹ کر رہے ہیں جسے اس کی پروا ہو تو یہ جاننا مفید ہے۔ ایک اور ضمنی اثر: “بڑے چھوٹے حروف نظر انداز کریں” آن کرنے سے موازنے کے ساتھ ترتیب بھی بدل جاتی ہے، اور پھر ترتیب اعراب والے حروف کو سادہ حروف سے الگ کرنا بھی چھوڑ دیتی ہے، اس لیے resume اور résumé الگ الگ نہیں بلکہ ساتھ ساتھ آتے ہیں۔
جب آپ کو کچھ اور چاہیے
جب فہرست دراصل ٹیبل ہو تو لائنوں کا موازنہ غلط قسم کا ٹول ہے۔ ایسی CSV جس میں “ڈپلیکیٹ” کا مطلب ہو کہ دو روز ایک کالم پر متفق ہیں، strings کا سوال نہیں، اور اسے ایسا سمجھنے سے یا تو ڈپلیکیٹس چھوٹ جاتے ہیں یا وہ روز ہٹ جاتی ہیں جو صرف ملتی جلتی دکھتی تھیں۔ جو فائل آپ پہلے سے کھولے بیٹھے ہیں، اس کے لیے اسپریڈشیٹ کا اپنا Remove Duplicates یہ کام صحیح کرتا ہے، اور mlr uniq -g کمانڈ لائن پر فیصلہ کرنے والی فیلڈ کا نام لے کر یہی کرتا ہے، کسی بھی سائز پر۔
جو فہرست ٹیب میں سمانے کے لیے بہت بڑی ہو، یا جسے آپ اگلے ہفتے پھر صاف کریں گے، اس کے لیے کمانڈ لائن پر ایک ہی ایکسپریشن کافی ہے جو اسٹریم کرتا ہے: awk '!seen[$0]++' پہلی کاپی اور اصل ترتیب رکھتا ہے، جو بالکل وہی ہے جو یہ صفحہ ڈیفالٹ طور پر کرتا ہے، اور آپ کی میموری سے بڑی فائل پر بھی۔ اس میں نہ تراشنا ہے، نہ بڑے چھوٹے حروف کو یکساں کرنا، نہ اس کی رپورٹ کہ کیا دہرایا گیا — یہی سودا ہے، اور ایک کروڑ لائنوں کی فائل کے لیے یہی درست سودا ہے۔
اکثر پوچھے جانے والے سوالات
کیا میری فہرست کہیں محفوظ کی جاتی ہے؟
نہیں۔ کچھ بھی محفوظ نہیں کیا جاتا اور کوئی ریکوئسٹ نہیں بھیجی جاتی۔ صفحہ لوڈ ہونے کے بعد آپ انٹرنیٹ بند کر سکتے ہیں اور یہ کام کرتا رہتا ہے۔
ہٹانے کے بعد بھی ڈپلیکیٹس کیوں باقی ہیں؟
تقریباً ہمیشہ آخر کی اسپیس کی وجہ سے۔ دو لائنیں جن کے آخر میں مختلف تعداد میں اسپیس ہوں، اسکرین پر ایک جیسی دکھتی ہیں مگر ہوتی نہیں، اس لیے بالکل درست موازنہ دونوں کو رکھ لیتا ہے — اور آپ سمجھتے ہیں کہ ٹول خراب ہے۔ اسی وجہ سے یہاں موازنے سے پہلے تراشنا ڈیفالٹ طور پر آن ہے۔ اہم بات یہ کہ یہ صرف موازنے پر اثر ڈالتا ہے: جو لائن باقی رہتی ہے وہ اپنا اصل ٹیکسٹ رکھتی ہے، کیونکہ خاموشی سے آپ کی لائنیں ایڈٹ کرنا “ڈپلیکیٹس ہٹائیں” کا مطلب نہیں۔
کون سی کاپی رکھی جاتی ہے؟
ڈیفالٹ طور پر پہلی، اور باقی کی ترتیب کو ہاتھ نہیں لگایا جاتا — جب فہرست پہلے سے کسی بامعنی ترتیب میں ہو تو یہ اہم ہے۔ آپ اس کے بجائے آخری رکھ سکتے ہیں، یا ہر وہ لائن ہٹا سکتے ہیں جس کا کوئی ڈپلیکیٹ تھا، اور صرف وہ لائنیں رہ جائیں جو ٹھیک ایک بار آئیں۔ یہ آخری طریقہ کسی فہرست کے منفرد اندراجات ڈھونڈنے کا ہے۔
ترتیب دینے پر item10، item2 سے پہلے کیوں آتا ہے؟
یہ عام حروفِ تہجی والی ترتیب ہے، جس میں “1”، “2” سے پہلے آتا ہے اور باقی نمبر تک بات پہنچتی ہی نہیں۔ قدرتی ترتیب آن کریں تو ہندسوں کے سلسلوں کا نمبرز کے طور پر موازنہ ہوتا ہے، اس لیے item2، item10 سے پہلے آتا ہے — وہ ترتیب جس کی انسان توقع کرتا ہے۔ اعراب والا ٹیکسٹ بھی صحیح سنبھالا جاتا ہے: سادہ موازنہ “Zürich” کو “Zyzzyva” کے بعد رکھتا ہے، کیونکہ وہ حروف کے بجائے ان کے پیچھے کے نمبرز کا موازنہ کرتا ہے۔
کیا یہ بتاتا ہے کہ کیا ہٹایا گیا؟
جی ہاں — جو لائنیں ایک سے زیادہ بار آئیں وہ اپنی تعداد کے ساتھ درج ہوتی ہیں، سب سے زیادہ والی پہلے۔ یہ جاننا کہ کون سا اندراج چار بار آیا، عموماً یہ جاننے سے زیادہ مفید ہوتا ہے کہ تین لائنیں ہٹ گئیں۔
کیا بے ترتیب کرنا واقعی رینڈم ہے؟
جی ہاں۔ یہ براؤزر کے کرپٹوگرافک رینڈم سورس کے ساتھ Fisher-Yates shuffle استعمال کرتا ہے۔ عام شارٹ کٹ — رینڈم موازنے کے ساتھ ترتیب دینا — سرے سے shuffle ہی نہیں: ترتیب دینے والے الگورتھمز مستقل موازنہ فرض کرتے ہیں، اور رینڈم موازنے کے ساتھ نتیجہ ناپنے کے قابل حد تک اصل ترتیب کی طرف جھکا ہوتا ہے۔ اگر آپ فہرست سے کوئی فاتح نکال رہے ہیں تو یہ فرق اہم ہے۔
کیا سائز کی کوئی حد ہے؟
کوئی مقررہ سائز کی حد نہیں، بلکہ دستیاب میموری۔ لاکھوں لائنوں کی فہرستیں بھی ٹھیک چلتی ہیں۔
جاننا مفید ہے: ترتیب آپ کے براؤزر کے زبان کے اصولوں کے مطابق ہوتی ہے، اس لیے اعراب والے حروف اور مختلف حروفِ تہجی بائٹ ویلیو کے بجائے اس طرح ترتیب پاتے ہیں جیسے قاری توقع کرتا ہے۔ اس کا مطلب یہ بھی ہے کہ مختلف براؤزرز میں ترتیب تھوڑی مختلف ہو سکتی ہے۔ بہت بڑی فہرستیں پوری کی پوری میموری میں رکھی جاتی ہیں۔
یہ ٹول اپنی ویب سائٹ پر لگائیں
کسی بھی بلاگ، کلاس پیج یا ہیلپ آرٹیکل کے لیے مفت۔ ایک اسنیپٹ پیسٹ کریں اور آپ کے وزیٹرز اسے سیدھا آپ کے صفحے پر استعمال کر سکیں گے۔
مزید ٹیکسٹ ٹولز
الفاظ گنیں
الفاظ، جملے اور پڑھنے کا وقت
کیس کنورٹر
UPPER، lower، Title Case، camelCase اور باقی
ٹیکسٹ کا موازنہ کریں
دو ورژنز میں بالکل کیا بدلا، دیکھیں
حروف گنیں
حروف، بائٹس، اور آپ کی حد اصل میں کیا گنتی ہے
HTML منیفائر
صفحہ خراب کیے بغیر HTML چھوٹا کریں
CSS منیفائر
اسٹائل شیٹ چھوٹی کریں، یا جانیں کیوں نہیں ہو سکی