নোটপ্যাড ++ এ সদৃশ সারিগুলি সরানো হচ্ছে


595

নোটপ্যাড ++ এ নকল করা সারিগুলি সরিয়ে ফেলা সম্ভব, কেবলমাত্র একটি লাইনের একক ঘটনা রেখে?

উত্তর:


759

নোটপ্যাড ++ এটি করতে পারে, আপনি লাইন অনুসারে বাছাই করতে চান এবং একই সময়ে সদৃশ লাইনগুলি মুছে ফেলতে পারেন।

আপনার টেক্সটএফএক্স প্লাগইন লাগবে। এটি নোটপ্যাড ++ এর পুরানো সংস্করণগুলিতে অন্তর্ভুক্ত করা হত, তবে আপনার যদি নতুন সংস্করণ থাকে তবে আপনি মেনু থেকে এটি যোগ করতে পারেন Plugins -> Plugin Manager -> Show Plugin Manager -> Available tab -> TextFX -> Install। কিছু ক্ষেত্রে এটি ডাকাও যেতে পারে TextFX Characters, তবে এটি একই জিনিস

চেক বাক্স এবং বোতাম এখন অন্তর্গত মেনু প্রদর্শিত হবে প্রয়োজন: TextFX -> TextFX Tools

নিশ্চিত করুন যে "সাজানোর আউটপুটগুলি কেবল অনন্য ..." চেক করা আছে। এর পরে, (টেক্সট একটি ব্লক নির্বাচন Ctrl+ + Aসম্পূর্ণ নথি নির্বাচন করতে)। শেষ অবধি, "বাছাই করা লাইনের কেস সংবেদনশীল" বা "বাছাই করা লাইনের ক্ষেত্রে সংবেদনশীল" ক্লিক করুন

n ++ এ মেনু বিন্যাস


32
"বয়স" সত্ত্বেও অবিশ্বাস্যভাবে শক্তিশালী প্লাগইন। আশা করি তারা এটি স্ট্যান্ডার্ড এনপিপি প্লাগইন অফার থেকে সরাবেন না। যে লোকটি এই প্লাগ ইনটির সমস্ত বৈশিষ্ট্য সম্পর্কে চিন্তা করেছিল, সে এক ধরণের "স্বপ্নদর্শী" ছিল।
GeertVc

7
এক্সেলের চেয়ে বেশি শক্তিশালী।
ভাসু

6
নোটপ্যাড ++ x64 সংস্করণ সম্পর্কে কী? প্লাগইন টেক্সটএফএক্স x64- সংস্করণ বিদ্যমান নেই
ভৌগলিক

15
টেক্সটএফএক্স 64 বিট সংস্করণে নেই।
ছড়া

4
@ জিওগ্রাফ এবং এখানে টেক্সটএফএক্সের কোনও 64 বিট প্লাগইন থাকবে না এই নোটটি । অতএব এটি সন্ধান এবং নকল অপসারণের বিকল্প প্লাগইন সরবরাহ করে কিনা তা জানা ভাল হবে।
রবার্ট

640

নোটপ্যাড ++ সংস্করণ 6 যেহেতু আপনি অনুসন্ধানে এই রেজেক্সটি ব্যবহার করতে পারেন এবং সংলাপটি প্রতিস্থাপন করতে পারেন:

^(.*?)$\s+?^(?=.*^\1$)

এবং কিছুই সঙ্গে প্রতিস্থাপন । এটি সমস্ত সদৃশ সারি থেকে ফাইলের শেষ ঘটনাটি ছেড়ে দেয়।

এর জন্য কোনও বাছাইয়ের প্রয়োজন নেই এবং নকল সারিগুলি ফাইলের যে কোনও জায়গায় থাকতে পারে!

আপনাকে "নিয়মিত প্রকাশ" এবং ".লাইনলাইন মেলে" বিকল্পগুলি পরীক্ষা করতে হবে:

নোটপ্যাড ++ ডায়ালগ প্রতিস্থাপন করুন

  • ^ লাইনের শুরুটির সাথে মেলে।

  • (.*?)0 বা ততোধিক বার কোনও অক্ষরের সাথে মেলে, তবে যত কম সম্ভব (এটি সারির সাথে ঠিক মিলছে, "। নতুন লাইনের সাথে মেলে" বিকল্পটির কারণে এটি প্রয়োজন)। চারপাশে বন্ধনী এবং ব্যবহারের অ্যাক্সেসের কারণে মিলিত সারিটি সংরক্ষণ করা হয়\1

  • $ লাইনের শেষের সাথে মেলে।

  • \s+?^ এই অংশটি পরবর্তী সারিটির শুরু হওয়া অবধি সমস্ত শ্বেতস্পেস অক্ষরের সাথে (নিউলাইনগুলি!) মেলে ==> এটি ম্যাচের সারিটির পরে নতুন লাইনগুলি সরিয়ে দেয়, যাতে প্রতিস্থাপনের পরে কোনও খালি সারি নেই।

  • (?=.*^\1$)এটি ইতিবাচক দৃষ্টিভঙ্গি দাবী। এটি এই রেজেক্সের গুরুত্বপূর্ণ অংশ, একটি সারি কেবল তখনই মেলে (এবং সরানো হয়), যখন ফাইলের অন্য কোথাও ঠিক একই সারি থাকে।


10
ওহ, এটি উজ্জ্বল, এটি খালি সারিগুলিও মুছে ফেলে, আমি এটি এই মুহুর্তে ম্যাক্রো করছি :)
এপ্রিলিয়ন

65
এটি কিছু ক্ষেত্রে কেবল একটি ফাইলের সমস্ত লাইন সরিয়ে দেয়।
সার্জ

3
শেষ ঘটনাটি সরানোর কোনও উপায় আছে কি? এটি শেষের সাথে সব মিলিয়ে ...
Culub

28
আমার ক্ষেত্রে যেখানে এই সমাধানটি সমস্ত লাইন সরিয়ে নিয়েছে, অনিচ্ছুক . matches newlineকৌশলটি করেছে।
কুয়েটসি

3
@ সার্জি কিছু ক্ষেত্রে এটি আমার পক্ষেও কার্যকর হয়নি, তবে আমি যখন "ম্যাচ নিউলাইন" সরিয়ে
ফেলেছিলাম তখন

95

যদি সারিগুলি একে অপরের সাথে সাথে হয় তবে আপনি একটি রেজেক্স রিপ্লেসটি ব্যবহার করতে পারেন:

প্যাটার্ন অনুসন্ধান: ^(.*\r?\n)(\1)+

প্রতিস্থাপন: \1


1
হতে পারে অন্যেরা এর সাথে ভাগ্য পেয়েছে, তবে আমার জন্য ^ (। * \ N) \ 1 এর ফলাফল "পাঠ্যটি সন্ধান করতে পারে না"
b1nary.atr0phy

4
@ b1naryatr0phy আপনার "অনুসন্ধান মোড" "নিয়মিত প্রকাশ" তে সেট করা আছে কিনা তা নিশ্চিত করুন, আমি প্যাটার্নটিও আপডেট করেছি যাতে এটি উইন্ডো স্টাইলের লাইনের সমাপ্তিগুলি পরিচালনা করতে পারে
গ্রান্ট পিটার্স

3
নোটপ্যাড ++ এ একটি হালকা রেজেক্স ইঞ্জিন রয়েছে, এটি উন্নত ফানকটিওগুলির অনুমতি দেয় না, এমনকি "? বা \ r \ n" হিসাবেও এটি কেবল একটি লাইনে কাজ করে এবং আপনি \ r \ n অক্ষরের জন্য ব্যবহার করেন
স্টেফান রোগিন

3
এটি একে একে নির্মূল করে। আপনাকে অবশ্যই এটি বহুবার পুনরাবৃত্তি করতে হবে। কেন আমি ভাবছি \ N + + -> \ N কাজ করে না (ভেবেছিলাম এটা অনেক প্রতিস্থাপন প্রতিবেদনগুলি)
Val,

2
@ ভ্যাল, যদি আপনি ম্যাচের ব্যাক-রেফারেন্স অংশটি 1 বা আরও বেশি ম্যাচগুলির সাথে একটি গোষ্ঠী তৈরি করে থাকেন তবে প্যাটার্নটি এক সাথে এন সংলগ্ন ডুপ্লিকেট লাইনের সাথে ^(.*\r?\n)(\1)+
মিলবে

37

নোটপ্যাড ++,

-> উইন্ডো প্রতিস্থাপন করুন

নিশ্চিত করুন যে অনুসন্ধান মোডে আপনি নিয়মিত প্রকাশের রেডিও বোতামটি নির্বাচন করেছেন

কি সন্ধান করুন:

^ (। *) (\ আছ? \ N \ n 1) + + $

প্রতিস্থাপন:

$ 1

আগে:

এবং আমরা সেখানে চিন্তা

এবং আমরা সেখানে চিন্তা

সপ্তাহের দিন

এটা কি সম্ভব

এটা কি সম্ভব

পরে:

এবং আমরা সেখানে চিন্তা

সপ্তাহের দিন

এটা কি সম্ভব


2
এটি কাজ করার জন্য ফাইলটি বাছাই করা দরকার হয় না?
পিটার মর্টেনসেন

এই উজ্জ্বল
রেমো Liechti

30

যদি আপনি সারি অর্ডার সম্পর্কে চিন্তা করেন না (যা আমি মনে করি না যে আপনি করেন) তবে আপনি একটি লিনাক্স / ফ্রিবিএসডি / ম্যাক ওএস এক্স / সাইগউইন বাক্স ব্যবহার করতে পারেন এবং করতে পারেন:

$ cat yourfile | sort | uniq > yourfile_nodups

তারপরে নোটপ্যাড ++ এ আবার ফাইলটি খুলুন।


3
উইন্ডোজ 7. এ কাজ করে না'cat' is not recognized as an internal or external command, operable program or batch file.
আইয়েন স্যামুয়েল ম্যাকলিন বয়স্ক

2
@ আইইন এল্ডার: বিড়াল একটি স্ট্যান্ডার্ড ইউনিক্স ইউটিলিটি, এই কারণেই এই উত্তরটি নির্দিষ্ট করে যে এটি লিনাক্স, ফ্রিবিএসডি এবং ম্যাকোএসএক্স-এ কাজ করে। উত্তরটি সিগুইনকেও পরামর্শ দেয়: এটি একটি উইন্ডোজ প্রোগ্রাম যা আপনাকে একটি ইউনিক্স শৈলীর শেল দেয় এবং এটির সাথে বিড়ালও দেয়। দীর্ঘ গল্প সংক্ষিপ্ত (খুব দেরী!): উইন 7 এর জন্য সাইগউইন দরকার।
ট্র্যাভিস ক্লার্ক

11
উইন্ডোতে আপনার পাওয়ারশেল রয়েছে:cat yourfile | sort -Unique
এলাজার

9
এগুলি "বিড়ালের কৃত্রিম ব্যবহার" এর ভাল উদাহরণ। বিড়ালের ইউটিলিটিটি ভুলে যান এবং কেবল ফাইল পুনর্নির্দেশটি এইভাবে ব্যবহার করুন: বাছাই করুন <আপনার ফাইল | uniq> yourfile_nodups
স্কট 8035

1
@ স্কট 8035, আমি সম্মত হয়েছি যে কমান্ডটি চালানোর জন্য বিড়ালটির কোনও উপকার হয় না, তবে বিড়ালের ফাইলের মতো অ-স্পষ্ট কমান্ডের দীর্ঘ ক্রম বের করার সময় আমি প্রায়শই বিড়াল থেকে শুরু করা সহায়ক বলে মনে করি | সেড ... | সেড ... | সেড ... ইত্যাদি। সুতরাং আমি বলব যে বিড়াল ব্যবহারের কারণ থাকতে পারে। অবশ্যই বিড়ালটিকে শেষের দিকে সরানো যেতে পারে তবে কিছু এটির জন্য খুব অলস।
ফোরটান

17

নোটপ্যাড ++ এর পরবর্তী সংস্করণগুলিতে স্পষ্টতই টেক্সটএফএক্স প্লাগইন অন্তর্ভুক্ত নয়। ডুপ্লিকেটগুলি বাছাই / মুছে ফেলার জন্য প্লাগইনটি ব্যবহার করতে, প্লাগইনটি অবশ্যই ডাউনলোড এবং ইনস্টল (আরও জড়িত) বা প্লাগইন ম্যানেজার ব্যবহার করে যুক্ত করতে হবে।

ক) সহজ উপায় ( এখানে বর্ণিত হিসাবে )।

প্লাগইনস -> প্লাগইন পরিচালক -> প্লাগইন ব্যবস্থাপক দেখান -> উপলব্ধ ট্যাব -> পাঠ্যএফএক্স অক্ষর -> ইনস্টল করুন

খ) আরও জড়িত উপায়, যদি অন্য সংস্করণ প্রয়োজন হয় বা সহজ উপায় কাজ করে না।

  1. সোর্সফোর্স থেকে প্লাগইনটি ডাউনলোড করুন:

    http://downloads.sourceforge.net/project/npp-plugins/TextFX/TextFX%20v0.26/TextFX.v0.26.unicode.bin.zip

  2. জিপ ফাইলটি খুলুন এবং NppTextFX.dll বের করুন

  3. নোটপ্যাড ++ প্লাগইন ডিরেক্টরিতে NppTextFX.dll রাখুন , যেমন:
    সি: \ প্রোগ্রাম ফাইলগুলি \ নোটপ্যাড ++ \ প্লাগইন

  4. নোটপ্যাড ++ শুরু করুন এবং টেক্সটএফএক্স ফাইল মেনু আইটেমগুলির মধ্যে একটি হবে (উপরে কলিন পিকার্ডের উত্তর # 1 এ দেখা যাবে)

টেক্সটএফএক্স প্লাগইন ইনস্টল করার পরে ডুপ্লিকেটগুলি বাছাই করতে এবং অপসারণ করতে উত্তর # 1 এর নির্দেশাবলী অনুসরণ করুন।

এছাড়াও, আপনি যদি এই কমান্ডটি ঘন ঘন ব্যবহার করেন বা বাছাইয়ের জন্য টেক্সটপ্যাডে F9 এর মতো একটি কীবোর্ড শর্টকাটটি প্রতিলিপি করতে চান তবে সেটিংস> শরকট ম্যাপার ব্যবহার করে একটি কীবোর্ড শর্টকাট সেট আপ করার বিষয়ে বিবেচনা করুন ।


নোটপ্যাড ++ 7.6 এ প্লাগ-ইনটি যুক্ত করা উচিত C:\Users\<your_user>\AppData\Local\Notepad++\plugins\NppTextFX। এটি বাদে এটি এখনও ঠিক কাজ করে।
P_W999

14

সংস্করণ 7.8 এ, আপনি কোনও প্লাগইন ছাড়াই এটি সম্পাদন করতে পারেন - সম্পাদনা -> লাইন অপারেশন -> ধারাবাহিক ডুপ্লিকেট লাইনগুলি সরান। এই কাজ করার আগে আপনাকে ক্রমাগত ক্রমে ডুপ্লিকেট লাইন রাখার জন্য ফাইলটি বাছাই করতে হবে তবে এটি একটি কবজির মতো কাজ করে।

বাছাইকরণ বিকল্পগুলি সম্পাদনা -> লাইন অপারেশন -> এর মাধ্যমে বাছাইয়ের অধীনে উপলভ্য ...


7

এটি করার জন্য আপনার একটি প্লাগইন লাগতে পারে। আপনি ConyEdit এর কমান্ড লাইন cc.ddl(সদৃশ লাইনগুলি মুছতে) চেষ্টা করতে পারেন । এটি নোটপ্যাড ++ সহ পাঠ্য সম্পাদকদের জন্য ক্রস-সম্পাদক প্লাগইন।

কনইএডিট ব্যাকগ্রাউন্ডে চলার সাথে সাথে নীচের পদক্ষেপগুলি অনুসরণ করুন:

  1. cc.ddlপাঠ্যের শেষে কমান্ড লাইন প্রবেশ করান ।
  2. পাঠ্য এবং কমান্ড লাইন অনুলিপি করুন।
  3. পেস্ট করুন, তারপরে আপনি যা দেখতে চান তা দেখতে পাবেন।

উদাহরণ
এখানে চিত্র বর্ণনা লিখুন


5

নিয়মিত প্রকাশের জন্য অনুসন্ধান করুন: \b(\w+)\b([\w\W]*)\b\1\b

এর সাথে প্রতিস্থাপন করুন: $1$2

আপনার ফাইলে নিয়মিত প্রকাশের জন্য আর কোনও মিল না পাওয়া পর্যন্ত প্রতিস্থাপন বোতামটি হিট করুন।


এটি চেষ্টা করার জন্য একটি পরীক্ষার ফাইল তৈরি করেছে, তবে নিয়মিত প্রকাশটি কাজটি করতে নির্ভরযোগ্যভাবে কাজ করে না।
রকপ্যাপারলিজার্ড

আপনি কি দয়া করে এমন একটি উদাহরণ প্রদান করবেন যা ব্যর্থ হয় যাতে আমি আমার উত্তরটি উন্নত করতে পারি?
হেশাম এরাকী

4

কেউই আমার পক্ষে কাজ করেনি।

একটি সমাধান হ'ল:

প্রতিস্থাপন করা

^(.*)\s+(\r?\n\1\s+)+$

সঙ্গে

\1

এটি চেষ্টা করার জন্য একটি পরীক্ষার ফাইল তৈরি করেছে, তবে নিয়মিত প্রকাশটি কাজটি করতে নির্ভরযোগ্যভাবে কাজ করে না।
রকপ্যাপারলিজার্ড

আমার সমস্ত ডেটার জন্য, এটি দুর্দান্ত কাজ করেছে my আমার সমাধান কী তা আমি ভুলে গিয়েছিলাম। এটি যেখানে ব্যর্থ হয়েছে সেখানে আরও বিশদ যুক্ত করুন যাতে অন্য লোকেরা এই রেজেক্সটি উন্নত করতে পারে।
মনোহর রেড্ডি পোর্ডি

আমি একটি ফাইল তৈরি করেছি যাতে প্রতিটি লাইনটিতে 0-999 এর মধ্যে ইন্টিজার থাকে, এলোমেলো ক্রমে, কখনও কখনও সদৃশ সহ। এটি বেশিরভাগ সদৃশ সরিয়ে দেয়নি, এবং কোনও নকল সরিয়ে দেয়নি অনুক্রমিক ছিল না।
রক পেপারলিজার্ড

1
অনুগ্রহ করে কাজ করার জন্য এবং কর্মহীনদের জন্য 2 টি উদাহরণ দিন। এটি কাউকে সাহায্য করবে।
মনোহর রেড্ডি পোরেড্ডি

1
কেন ^(.*)\s+(\r?\n\1\s+)+$এবং না ^(.*)\s*(\r?\n\1\s*)+$?
মার্ক অধ্যায়

2

প্লাগইন পরিচালক বর্তমানে নোটপ্যাড ++ এর জন্য অনুপলব্ধ (বিতরণে আসে না)। আপনাকে অবশ্যই এটি ম্যানুয়ালি ইনস্টল করতে হবে ( https://github.com/bruderstein/nppPluginManager/releases ) এবং এমনকি যদি আপনি তা করেন তবে অনেকগুলি প্লাগইন আর উপলব্ধ নেই (কোনও টেক্সটএফএক্স নেই) প্লাগইন।

হতে পারে এমন আরও একটি প্লাগইন রয়েছে যাতে প্রয়োজনীয় কার্যকারিতা রয়েছে। অন্য যে, নোটপ্যাড ++, এটা করতে একমাত্র উপায় কিছু বিশেষ ব্যবহার করা Regex মিলে এবং তারপর প্রতিস্থাপন (জন্য Ctrl+ + Fপ্রতিস্থাপন ট্যাব)।

যদিও সম্পাদনা মেনু আইটেমের মাধ্যমে অনেকগুলি কার্যকারিতা উপলব্ধ রয়েছে (ট্রিমিং, খালি লাইন সরিয়ে, বাছাই করা, EOL রূপান্তর করা) কোনও "অনন্য" অপারেশন উপলব্ধ নেই।

আপনার যদি উইন্ডোজ 10 থাকে তবে আপনি বাশ সক্ষম করতে পারেন (কেবলমাত্র মাইক্রোসফ্ট স্টোরে উবুন্টু টাইপ করুন এবং এটি ইনস্টল করতে বর্ণনার নির্দেশাবলী অনুসরণ করুন) এবং ব্যবহার করতে পারেন cat your_file.txt | sort | uniq > your_file_edited.txt। অবশ্যই আপনাকে অবশ্যই "your_file.txt" এর মতো একই কার্যকারী ডিরেক্টরিতে থাকতে হবে বা এর পথ ধরে এটি উল্লেখ করতে হবে।

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