সাব্লাইম পাঠ্যে সদৃশ লাইনগুলি বের করার কোনও উপায় আছে কি?


6

আমার সাব্লাইম পাঠ্যে 2 টি অপারেশন করা দরকার: অনন্য লাইনগুলি বের করুন এবং সদৃশ লাইনগুলি বের করুন। ইনপুট জন্য উদাহরণস্বরূপ

a
b
a

অনুলিপি নিষ্কাশন এর ফলস্বরূপ হওয়া উচিত:

a

এবং অনন্য এক্সট্রাক্টের ফলাফল হওয়া উচিত:

b

এটির জন্য কোনও বিল্ট-ইন অপারেশন বা প্লাগইন রয়েছে কি?

উত্তর:


10

আপনি Sort Linesরেজি সীমানা চিহ্নিতকারী ^এবং $পিছনের রেফারেন্স ব্যবহার করে এমন রেজেক্সের জন্য অনুসন্ধান করে চালিয়ে অনুলিপি লাইনগুলি সহজেই খুঁজে পেতে পারেন \1

^(.+)$\n^\1$

এটি সমস্ত অনুসন্ধান করুন, অনুলিপি করুন, একটি নতুন ট্যাবে পেস্ট করুন লাইনে | অনন্য এবং আপনি এগুলিকে সরিয়ে নিয়েছেন।


এটি আশ্চর্যজনক: আমি একটি ছোট সংযোজন যুক্ত করেছি যা আমাকে সাহায্য করেছিল: ১. রেজেক্স চালান ২. সমস্ত মিলিত মানগুলি এর সাথে প্রতিস্থাপন করুন: \ t $ 1, যা সমস্ত মিলিত মানকে ইনডেন্ট করবে এবং ফাইলগুলির 3 টিতে কেবল তার 1 টি উদাহরণ রাখবে। আরেকটি রেজেক্স চালান: ^ \ d। * $ এবং আপনার প্রাসঙ্গিক ট্যাগের সাথে \ d প্রতিস্থাপন করুন 4 এটি কেবল নকল মান
রাখবে

2

দুর্ভাগ্যক্রমে আমার কাছে এই মুহুর্তে সাব্লাইম পাঠ্যে অ্যাক্সেস নেই, তাই আমি এটি পরীক্ষা করতে পারছি না, তবে আমি বিশ্বাস করি যে নীচের মতো কিছু আপনার পক্ষে কাজ করতে পারে:

  1. Edit -> Sort Linesকমান্ডের মাধ্যমে লাইনগুলি সাজান
  2. হাইলাইট ডুপ্লিকেট প্লাগইন ইনস্টল করুন এবং এটি সমস্ত সদৃশ লাইন হাইলাইট করতে ব্যবহার করুন
  3. ক্লিপবোর্ডে হাইলাইট করা লাইনগুলি কেটে একটি নতুন ফাইলে আটকে দিন
  4. মূল ফাইলে থাকা লাইনগুলি হ'ল আপনার এক্সট্র্যাক্ট অনন্য লাইন
  5. নতুন ফাইলে, সমস্ত পাঠ্য নির্বাচন করুন এবং Edit -> Permute Lines -> Uniqueকমান্ডের মাধ্যমে সদৃশ লাইনগুলি সরিয়ে দিন
  6. নতুন ফাইলে থাকা রেখাগুলি হ'ল আপনার নিষ্ক্রিয় লাইনগুলি

আমি পুরোপুরি নিশ্চিত নই যে # 1 পদক্ষেপটি আসলে প্রয়োজনীয়, তবে আমি কেবল এটি ক্ষেত্রে অন্তর্ভুক্ত করেছি।


আমি একই জিনিসটি অবাক করে দিয়েছিলাম এবং এটি চেষ্টা করেছি (সাব্লাইম 3.0.০, এখানে) ... প্রথমে বাছাই করা প্রয়োজন নয়। (ইউনিক্স 'ইউনিক'-এর সাথে আলাদা নয়)) দুর্দান্ত।
টম হুন্ড্ট

0

Highlight Duplicatesপ্লাগইন ব্যবহার না করে সাব্লাইম 3 এবং ডিফমার্জের সাথে নকল রেখাগুলি পেতে উপরে উপরে এমজেএইচ উত্তরটি সংশোধন করুন ।

  1. সাব্লাইম 3 Edit -> Sort Linesকমান্ডের মাধ্যমে লাইনগুলি বাছাই করুন
  2. মূল ফাইলটি sort_orig.txt হিসাবে সংরক্ষণ করুন
  3. সমস্ত পাঠ্য নির্বাচন করুন এবং সাব্লাইম 3 Edit -> Permute Lines -> Uniqueকমান্ডের মাধ্যমে সদৃশ লাইনগুলি সরিয়ে দিন
  4. No_dup_sorted.txt হিসাবে পরিবর্তিত ফাইল সংরক্ষণ করুন
  5. सॉ োর্টড_রিগ.টেক্সট এবং নো_ডুপ_সোর্টড.এসটিএসটি ফাইলের সাহায্যে ডিফফর্ম সরঞ্জাম দিয়ে ডিফ শুরু করুন ।
  6. Export -> File Diffsক্লিপবোর্ডে সদৃশদের একটি তালিকা পেতে বা অন্য কোনও ফাইলে সংরক্ষণ করতে ডিফফর্মে ব্যবহার করুন।

0

একই সমস্যা ছিল (আমাকে দু'দাগগুলি দেখান) ... একটি সহজ সাব্লাইম-ভিত্তিক উত্তর খুঁজে পেল না এবং ইউনিক্স কমান্ডগুলি ব্যবহার করে ফিরে গিয়েছি (আমার ফাইলে এমন ডেটা ছিল যা আমি 11-56 কলামের নকলগুলি খুঁজতে চেয়েছিলাম):

cut -c 11-56 myfile.dat | sort | uniq -d

অন্যদের কাছে এফওয়াইআই হিসাবে এখানে পোস্ট করা।


আমি যেভাবে একটি প্লাগইন
পোমা
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.