ডুপ্লিকেট লাইন মুছুন
একটি তালিকা পেস্ট করুন: প্রতিটি লাইনের প্রথমবার আসার পরের সব পুনরাবৃত্তি মুছে যাবে, আর বাকি লাইনগুলো আগের ক্রমেই থাকবে। মেলানোর সময় বড়-ছোট হাতের অক্ষর ও বাড়তি স্পেস উপেক্ষা করা যায়, আর পুরো কাজটি আপনার ব্রাউজারেই হয়।
০টি অক্ষর · ০টি শব্দ · ০টি লাইন
০টি অক্ষর · ০টি শব্দ · ০টি লাইন
সম্পূর্ণ এই ব্রাউজার ট্যাবেই চলে। আপনার টেক্সট কখনও আপলোড বা সংরক্ষণ করা হয় না।
এটি কী করে
ডুপ্লিকেট লাইন সরান প্রতিটি লাইনের প্রথমটি রাখে এবং পরের পুনরাবৃত্তিগুলো বাদ দেয়, মূল ক্রম অপরিবর্তিত রেখে। মেলানোর সময় অক্ষরের কেস ও আশেপাশের স্পেস উপেক্ষা করা যায়, আর ফাঁকা লাইন রাখা বা সরানো যায়।
red blue Red green
red blue green
কারা তালিকা থেকে ডুপ্লিকেট সরান এবং কেন
একাধিক তালিকা একসাথে করলেই ডুপ্লিকেট লাইন দেখা দেয়। একজন মার্কেটার দুটি এক্সপোর্ট করা ইমেইল তালিকা মেলাচ্ছেন, একজন গবেষক বিভিন্ন টুল থেকে কীওয়ার্ড জোগাড় করছেন, একজন ডেভেলপার লগ ফাইল থেকে URL সংগ্রহ করছেন, কিংবা একজন শিক্ষক তিনটি সাইন-আপ ফর্মের নাম এক জায়গায় পেস্ট করছেন: প্রত্যেকের হাতে এমন কিছু এন্ট্রি থেকে যায় যা দুই বা তার বেশিবার আছে। স্প্রেডশিটেও ডুপ্লিকেট সরানো যায়, কিন্তু তার জন্য ফাইল খুলতে হয়, কলাম সিলেক্ট করতে হয় এবং সঠিক মেনু খুঁজতে হয়; ডেটা ক্লিপবোর্ডে থাকলে টেক্সট বক্সে পেস্ট করাই দ্রুত।
আসল ক্রম বজায় রাখা দেখতে যতটা মনে হয় তার চেয়ে বেশি গুরুত্বপূর্ণ। ধাপের তালিকা, র্যাঙ্কিং বা ক্রল করা ক্রমে সাজানো URL সর্ট করলে তার অর্থ হারিয়ে যায়। এখানে প্রথমবার যেখানে ছিল লাইনটি ঠিক সেখানেই থাকে, পরের পুনরাবৃত্তিগুলো বাদ যায়, আর একটি কাউন্টার দেখায় কতগুলো লাইন সরানো হয়েছে, ফলে ফলাফল ঠিক আছে কি না আপনি বুঝতে পারেন।
লাইন কীভাবে মেলানো হয়, আর চোখে না-পড়া পার্থক্য
তালিকা উপর থেকে নিচে পড়ার সময় প্রতিটি লাইনকে একটি তুলনার কী-তে রূপ দিয়ে সেটে রাখা হয়; যে লাইনের কী আগে থেকেই সেটে আছে সেটি ডুপ্লিকেট। এতে একবারই পড়তে হয়, তাই কয়েক লক্ষ লাইনের তালিকাও দ্রুত প্রক্রিয়া হয়। এটি ক্লাসিক Unix uniq কমান্ডের থেকে আলাদা, যা শুধু পাশাপাশি থাকা ডুপ্লিকেট সরায় এবং তাই সাধারণত sort-এর পরে চালাতে হয়, ফলে আসল ক্রম হারায়। awk-এর awk '!seen[$0]++' ইডিয়মটি এই টুলের মতোই কাজ করে।
দুটি লাইন একরকম দেখালেও আসলে আলাদা হতে পারে। শেষে একটি স্পেস, স্পেসের বদলে ট্যাব, বা ওয়েব পেজ থেকে কপি করা নন-ব্রেকিং স্পেস থাকলে কম্পিউটার সেগুলোকে ভিন্ন স্ট্রিং ধরে। প্রতিটি লাইনের দুই প্রান্তের স্পেস, নন-ব্রেকিং স্পেসসহ, উপেক্ষা করতে ট্রিমিং চালু করুন। "Paris" ও "paris" একই এন্ট্রি ধরতে কেস সেনসিটিভিটি বন্ধ করুন; প্রথমে যে বানানটি দেখা গেছে সেটিই থাকবে। ফাঁকা লাইন রাখা যায়, যাতে অনুচ্ছেদগুলো আলাদা থাকে, অথবা পুরোপুরি সরানো যায়।
পরিষ্কার করার পরে
ডুপ্লিকেট সরানো তালিকার পরে প্রায়ই একটি ক্রম দরকার হয়: লাইন সর্ট তালিকাটিকে বর্ণানুক্রমে, ন্যাচারাল ক্রমে বা দৈর্ঘ্য অনুযায়ী সাজাতে পারে। তালিকা যদি PDF বা ভাঙা লাইনওয়ালা ইমেইল থেকে এসে থাকে, আগে অন্য টেক্সট টুল দিয়ে তা ঠিক করুন, কারণ দুই লাইনে ভেঙে যাওয়া এন্ট্রি তার অভাঙা জোড়ার সঙ্গে মিলবে না।
সচরাচর জিজ্ঞাসা
- ডুপ্লিকেট লাইনের কোন কপিটি রাখা হয়?
- প্রথমটি। একই বিষয়বস্তুর পরবর্তী প্রতিটি লাইন সরে যায়, বাকি লাইনগুলো আসল ক্রমেই থাকে, তাই কিছুই এলোমেলো হয় না।
- দেখতে একই রকম দুটি লাইন কেন মুছে যায় না?
- এগুলো এমন কিছুতে আলাদা যা চোখে পড়ে না, প্রায়ই শেষে একটি স্পেস, ট্যাব বা নন-ব্রেকিং স্পেস। ট্রিম অপশন চালু করুন, আর শুধু বড়-ছোট হাতের অক্ষরের পার্থক্য হলে কেস উপেক্ষা করুন।
- এটি uniq কমান্ড থেকে কীভাবে আলাদা?
- uniq শুধু তখনই লাইন বাদ দেয় যখন তা ঠিক উপরের লাইনের পুনরাবৃত্তি, তাই সাধারণত এটি sort-এর সঙ্গে ব্যবহার হয়। এই টুল টেক্সটের যেকোনো জায়গার পুনরাবৃত্তি খুঁজে পায় এবং আসল ক্রম রাখে।
- ডুপ্লিকেট মোছা আর তালিকা সাজানো কি একসাথে করা যায়?
- এখানে ডুপ্লিকেট সরিয়ে ফলাফলটি লাইন সর্টে পেস্ট করুন। দুই ধাপে করলে প্রয়োজনে প্রথমে দেখা ক্রম রাখা যায়, আর ইচ্ছা হলেই সর্ট করা যায়।