grep
উইন্ডোজ কমান্ড প্রম্পট থেকে পাওয়া অনুরূপ কোন ইউটিলিটি আছে বা এর জন্য কোনও তৃতীয় পক্ষের সরঞ্জাম আছে?
grep
উইন্ডোজ কমান্ড প্রম্পট থেকে পাওয়া অনুরূপ কোন ইউটিলিটি আছে বা এর জন্য কোনও তৃতীয় পক্ষের সরঞ্জাম আছে?
উত্তর:
একটি কমান্ড-লাইন টুল বলা হয় FINDSTR
যা সমস্ত উইন্ডোজ এনটি-ক্লাস অপারেটিং সিস্টেমের সাথে আসে ( FINDSTR /?
আরও তথ্যের জন্য কমান্ড প্রম্পট উইন্ডোতে টাইপ করুন) এটি সমস্ত grep
কিছু সমর্থন করে না তবে এটি আপনার প্রয়োজনের জন্য পর্যাপ্ত হতে পারে।
netstat -n | FINDSTR 3389
পাওয়ারশেল (উইন্ডোজ 7 / 2008R2 এর স্ট্যান্ডার্ড হিসাবে অন্তর্ভুক্ত, এক্সপি / 2003 / ভিস্তা / 2008 এর select-string
জন্য optionচ্ছিক ) যা এই উদ্দেশ্যে সেন্টিমিডলেট অন্তর্ভুক্ত করে ।
GnuWin প্রকল্প দ্বারা উইন্ডোজ জন্য গ্রেপ (2014-10-02: এটি পুরানো, নীচের মন্তব্য দেখুন)
হিসাবে উল্লিখিত, Findstr ফাইন কাজ করে। উদাহরণ:
সি:> দির | উইন্ডোজ
11/06/2013 09:55 PM উইন্ডোজ
সাইগউইন গ্রেপ এবং আরও অনেক কিছু;)
আমি জিআরইপি ব্যবহারের আরও একটি উপায় খুঁজে পেয়েছি যেমন উইন্ডোজ and এবং তার উপরের কোনও কার্যকারিতা যেমন কোনও অতিরিক্ত অ্যাপ্লিকেশন ছাড়াই ইনস্টল করা নেই এবং পুরানো সিস্টেমে আপনি পাওয়ারশেল ইনস্টল করতে পারেন।
ইন PowerShell , ব্যবহারকারীর ব্যবহার করতে পারেন কোথায়-বস্তুর এটা বৈশিষ্ট্যের বেশ ব্যাপক সেট যা প্লাস আরো grep সকল ক্রিয়াকলাপ প্রদান করে।
আশা করি এটা সাহায্য করবে.
আমি অবাক হয়েছি কেউই FINDSTR উল্লেখ করেনি । আমি কোনও গ্রেপ পাওয়ারুজার নই, তবে ফাইন্ডস্ট্রেট আমার যা প্রয়োজন তা করে, কিছু প্রাথমিক আঞ্চলিক সমর্থন সহ ফাইল এবং স্টিডিন ফিল্টার করে। উইন্ডোজ এবং যে সব সঙ্গে জাহাজ। (সম্পাদনা: আচ্ছা, কেউ সন্ধানকারীর কথা উল্লেখ করেছে, আমার ধারণা এটি দেরিতে)
GnuWin32 উল্লেখ করার মতো, এটি গ্রেপ , ফাইল, সেড, গ্রাফ, ইনডেন্ট ইত্যাদি সহ সমস্ত স্ট্যান্ডার্ড লিনাক্স সরঞ্জামগুলির নেটিভ উইন 32 সংস্করণ সরবরাহ করে
এবং এই সরঞ্জামগুলির নতুন সংস্করণ প্রকাশিত হলে এটি নিয়মিত আপডেট হয়।
উইন্ডোজে আমি ফাইল সন্ধানের জন্য ফার ম্যানেজার ব্যবহার করি । বিএসডি লাইসেন্সযুক্ত, কনসোলে কাজ করে, টাইপ করে সেমিডলাইন পরামিতিগুলিতে সময় সাশ্রয় করে। এখানে এটির অনুসন্ধান সংলাপটি আল্ট-এফ 7 দ্বারা চালিত।
আপডেট: প্রশ্নটি যখন প্রাথমিকভাবে জিজ্ঞাসা করা হয়েছিল তখন এটি সত্য ছিল না, তবে এখন মাইক্রোসফ্ট একটি লিনাক্সের জন্য উইন্ডোজ সাবসিস্টেম ইনস্টল করতে দেয় এবং উইন্ডোজ তখন গ্রেপ চালাবে run পাওয়ারশেলে, চালান:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
UnxUtils ইউনিক্স একটি মহান সেট Windows এ যে run utilites হয়। এটিতে গ্রেপ, সেড, গাক ইত্যাদি রয়েছে
একটি দুর্দান্ত এবং খুব দ্রুত ফাইল অনুসন্ধান ইউটিলিটি, এজেন্ট র্যানস্যাক নিয়মিত প্রকাশের অনুসন্ধানকে সমর্থন করে। এটি মূলত একটি জিইউআই ইউটিলিটি, তবে একটি কমান্ড-লাইন ইন্টারফেসও উপলভ্য।
যদিও প্রযুক্তিগতভাবে গ্রেপ বা কমান্ড লাইন নয়, মাইক্রোসফ্ট ভিজ্যুয়াল স্টুডিও এবং নোটপ্যাড ++ উভয়েরই সম্পূর্ণ নিয়মিত এক্সপ্রেশন সমর্থন সহ ফাইল বৈশিষ্ট্যে খুব ভাল ফাইন্ড রয়েছে। কমান্ড লাইনে আমার কাছে গ্রেপ-এর সাইগউইন সংস্করণ উপলব্ধ থাকা সত্ত্বেও আমি সেগুলি নিজেকে প্রায়শই ব্যবহার করে দেখতে পাই।
আমি আমার এই থ্রেডে 0.02 ডলার যুক্ত করব। ডিএনজিইআরপি হ'ল উইন্ডোজগুলির জন্য একটি দুর্দান্ত ওপেন সোর্স গ্রেপ সরঞ্জাম যা পূর্বাবস্থায় ফিরে আসা, উইন্ডোজ এক্সপ্লোরার ইন্টিগ্রেশন, পিডিএফ, জিপস, ডিওসি এবং অন্যান্য সামগ্রীর গুচ্ছকে সমর্থন করে ...
হ্যাঁ উইন্ডোজ পিসির জন্য একটি মাত্র প্রোগ্রাম রয়েছে যার দৃ G় জিইউআই রয়েছে এবং এটি আমার জন্য প্রয়োজনীয় ব্যবহার। আমি বিকাশকারী হিসাবে এবং প্রতিটি কম্পিউটারে কাজ করি, প্রথম জিনিসটি এক্সফাইন্ড প্রোগ্রামটি ইনস্টল করুন। এটি 1997 সালে তৈরি হয়েছিল এবং এখনও অবধি সংস্করণ 1.0 এবং এখনও অবধি কার্যকর এবং এটি সর্বোত্তম। প্রায়শই আমাকে " .cs", " .aspx ", " .sct" (ভিজ্যুয়াল ফক্সপ্রো ফর্ম কোড ফাইল) বা কেবল " । *" এর মধ্যে কিছু স্ট্রিং অনুসন্ধান করতে হবে এবং এক্সফাইন্ড সমস্ত ফাইল স্ক্যান করে আমাকে ফাইলগুলি দেখায় এবং অন্য একটি দুর্দান্ত জিনিস হ'ল স্ট্রিংটি ফাইলটিতে রয়েছে তা আপনি দেখতে পারেন। এক্সফাইন্ডে একরকম সম্পাদকও রয়েছে। যদি এটি বাইনারি ফাইল হয় তবে এটি আপনাকে স্ট্রিং সন্ধান করতে দেখাবে। আপনি যদি আমার মতো বিকাশকারী হন তবে এটি ব্যবহার করে চিরতরে ব্যবহার করুন।
আপনি স্পষ্টতই বিভিন্ন প্রস্তাবনা অনেক পেয়েছেন।
ফ্রি, থার্ড পার্টি ইউটিলিটির জন্য আমার ব্যক্তিগত পছন্দ: এজেন্ট র্যানস্যাক
এজেন্ট র্যানস্যাক ডাউনলোড
এর কিছুটা বিভ্রান্তিকর নাম সত্ত্বেও, এটি ভালভাবে কাজ করে এবং ফাইলগুলি খুঁজতে বিভিন্ন উপায়ে ব্যবহার করা যেতে পারে।
শুভকামনা
অল-ইন-ওয়ান ব্যস্তবক্সে গ্রেপ / egrep / সেড / অ্যাজক এবং আরও অনেক কিছু রয়েছে
এটি থেকে পেতে:
আপডেট: আর উপলভ্য নয় - বা কিছু পুরানো
আপনি জিইআইআই চাইলে বেয়ার গ্রেপটি দুর্দান্ত । Gnu গ্রেপ জন্য ভাল
আপনি যদি অর্থ প্রদানের জন্য পণ্যটি মনে করেন না, পাওয়ারগ্রিপ আমার ব্যক্তিগত পছন্দ।
আমরা সম্প্রতি পাওয়ারগ্রিপ ব্যবহার করেছি কয়েক হাজার ফাইলে মোটামুটি উন্নত বাল্ক অপারেশনের জন্য । পিডিএফ ফাইলগুলির বিষয়বস্তুতে রেজেক্স অনুসন্ধান এবং লর্ডস্কলে পিডিএফ ডকুমেন্টগুলির পরিবর্তন সহ।
আপনি যদি ম্যানুয়েল শ্রমের থেকে সময় বাঁচাতে চান তবে এই অর্থের মূল্য। আমার মনে হয় আপনি কেনার আগে আপনি এটি চেষ্টা করে দেখতে পারেন।
উপরে উল্লিখিত হিসাবে, gnuwin32 প্রকল্পের একটি উইন্ডোজ সিএলআই সংস্করণ গ্রেপ রয়েছে।
আপনি যদি গ্রাফিকাল ইন্টারফেসের সাথে কিছু চান তবে আমি (ওপেন-সোর্স) সরঞ্জাম অ্যাস্ট্রোগ্রেপ প্রস্তাব করব ।
আমি সেগুলি ব্যবহার করে কিছুক্ষণ হয়ে গেছে, তবে বোরল্যান্ড (এখন এম্বারকাডেরো) তাদের সি / সি ++ সংকলক সহ একটি কমান্ড লাইন গ্রেপ অন্তর্ভুক্ত করেছে। কিছু সময়ের জন্য, তারা নিবন্ধনের পরে তাদের 5.5 সংস্করণটি বিনামূল্যে ডাউনলোড হিসাবে উপলব্ধ করেছে ।
ওক রোড সিস্টেমগুলি থেকে একটি বাণিজ্যিক গ্রেপ ইউটিলিটি উপলব্ধ ।
আমি পাওয়ারগ্রিপ সুপারিশ করি
আমাকে বেশ কয়েক বছর আগে একটি ই-আবিষ্কার প্রকল্প করতে হয়েছিল। আমি খুঁজে পেয়েছি যে fisdstr
কিছু সীমাবদ্ধতা ছিল, বিশেষত fisdstr অবশেষে ব্যর্থ হবে
কয়েক ডজন অনুসন্ধান শব্দ / বাক্যাংশ ব্যবহার করে স্ক্রিপ্টটিকে কয়েক হাজার ফাইল জুড়ে অনুসন্ধান করতে হয়েছিল।
সাইগউইনের গ্রেপ অনেক বেশি ভাল কাজ করেছে , এটি প্রায়শই দমবন্ধ হয় নি, তবে শেষ পর্যন্ত আমি পাওয়ারগ্রপে চলে গিয়েছিলাম কারণ গ্রাফিকাল ইন্টারফেসটি কখন এবং কোথায় ক্র্যাশ হয়েছিল তা বলা খুব সহজ করে দিয়েছিল এবং সমস্ত শর্তসাপেক্ষে এবং আউটপুটটিতে এটি সম্পাদনা করা খুব সহজ ছিল যে আমি চেয়েছি. শেষ পর্যন্ত পাওয়ারগ্রিপ তিনটির মধ্যে সবচেয়ে নির্ভরযোগ্য ছিল ।
আমি জানি যে এটি কিছুটা পুরানো বিষয় তবে, আপনি করতে পারেন এমন আরও একটি জিনিস এখানে। আমি কোনও ডেভেলপার ভিএম-এর সাথে কাজ করি যেখানে কোনও ইন্টারনেট অ্যাক্সেস এবং যথেষ্ট সীমিত ফ্রি ডিস্ক স্পেস নেই, তাই আমি এতে ইনস্টল করা জাভা ব্যবহার করেছি।
ছোট জাভা প্রোগ্রামটি সঙ্কলন করুন যা কনসোলের সাথে রেজেস ম্যাচগুলি মুদ্রণ করে। আপনার সিস্টেমে জারটি কোথাও রাখুন, এটি কার্যকর করতে একটি ব্যাচ তৈরি করুন এবং ফোল্ডারটিকে আপনার PATH ভেরিয়েবলটিতে যুক্ত করুন:
JGrep.java:
package com.jgrep;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class JGrep {
public static void main(String[] args) throws FileNotFoundException, IOException {
int printGroup = -1;
if (args.length < 2) {
System.out.println("Invalid arguments. Usage:");
System.out.println("jgrep [...-MODIFIERS] [PATTERN] [FILENAME]");
System.out.println("Available modifiers:");
System.out.println(" -printGroup - will print the given group only instead of the whole match. Eg: -printGroup=1");
System.out.println("Current arguments:");
for (int i = 0; i < args.length; i++) {
System.out.println("args[" + i + "]=" + args[i]);
}
return;
}
Pattern pattern = null;
String filename = args[args.length - 1];
String patternArg = args[args.length - 2];
pattern = Pattern.compile(patternArg);
int argCount = 2;
while (args.length - argCount - 1 >= 0) {
String arg = args[args.length - argCount - 1];
argCount++;
if (arg.startsWith("-printGroup=")) {
printGroup = Integer.parseInt(arg.substring("-printGroup=".length()));
}
}
StringBuilder sb = new StringBuilder();
try (BufferedReader br = new BufferedReader(new FileReader(filename))) {
sb = new StringBuilder();
String line = br.readLine();
while (line != null) {
sb.append(line);
sb.append(System.lineSeparator());
line = br.readLine();
}
}
Matcher matcher = pattern.matcher(sb.toString());
int matchesCount = 0;
while (matcher.find()) {
if (printGroup > 0) {
System.out.println(matcher.group(printGroup));
} else {
System.out.println(matcher.group());
}
matchesCount++;
}
System.out.println("----------------------------------------");
System.out.println("File: " + filename);
System.out.println("Pattern: " + pattern.pattern());
System.out.println("PrintGroup: " + printGroup);
System.out.println("Matches: " + matchesCount);
}
}
c: \ jgrep \ jgrep.bat (jgrep.jar এর সাথে একসাথে):
@echo off
java -cp c:\jgrep\jgrep.jar com.jgrep.JGrep %*
এবং সি: g জিগ্রেপ যোগ করুন PATH এনভায়রনমেন্ট ভেরিয়েবলের শেষে ।
এখন কেবল কল jgrep "expression" file.txt
যে কোনও জায়গা থেকে করুন।
আমার প্রকাশ থেকে কিছু নির্দিষ্ট গোষ্ঠী মুদ্রণ করা দরকার তাই আমি একটি সংশোধক যুক্ত করে এটিকে পছন্দ করি jgrep -printGroup=1 "expression" file.txt
।
আমি এটি একটি পুরানো প্রশ্ন বুঝতে পারি কিন্তু আমি উত্তর চেয়ে এই পোস্ট জুড়ে এসেছি। এবং আমি এখানে একটি সমষ্টিগত ইন্টারনেট মেমোরির জন্য এটি যুক্ত করে এটি পেয়েছি
পাওয়ারশেল: সিলেক্ট-স্ট্রিং মডিউল: মাইক্রোসফ্ট.পাওয়ারশেল। ইউটিলিটি
https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/select-string
এবং উন্নত পরীক্ষাগুলি সহ একটি তথ্যবহুল ব্লগ পোস্ট: "পাওয়ারশেলে" গ্রেপ "কীভাবে করবেন" https://antjanus.com/blog/web-de વિકાસment-tutorials/how-to-grep-in-powershell/
সেই ব্লগ পোস্টের একটি সহজ উদাহরণ: বিড়াল প্যাকেজ.জসন | স্ট্রিং-স্ট্রিং-প্যাটার্ন ওয়েবপ্যাক ls ./src/compferences/ | স্ট্রিং-প্যাটার্ন ভিউ
সি:> বিড়াল পোস্ট.এমডি | স্ট্রিং-স্ট্রিং-প্যাটার্ন "^ \ ডাব্লু *:"
সাইগউইন ব্যবহার করুন ...
এর 32 এবং 64 বিট সংস্করণ রয়েছে
এবং এটি উইন্ডোজ 2000 (*)
থেকে উইন্ডোজ 10 বা সার্ভার 2019 এ সূক্ষ্মভাবে কাজ করে
আমি দীর্ঘদিন ধরে সাইগউইন ব্যবহার করি ...
এবং সম্প্রতি উইন্ডোজ-লিনাক্স-সাবসিস্টেমগুলির পরিবর্তে চেষ্টা করার চেষ্টা করেছি ...
বেশি দিন নয় ...
আমি আবার সাইগউইনে ফিরে গেলাম ...
আরও অনেক নমনীয়, দ্রষ্টব্য এবং সমৃদ্ধ ...
এছাড়াও কম অনুপ্রবেশকারী ...
কেবল পথে \ বিন যোগ করুন ...
এবং আপনি এটি উইন্ডোজ / ব্যাচ / পাওয়ারশেল এ যেকোনও উপায়ে ব্যবহার করতে পারেন ...
বা ডস-বাক্সে ... বা পাওয়ারশেল-বাক্সে ...
এছাড়াও আপনি এক টন দুর্দান্ত প্যাকেজ ইনস্টল করতে পারেন
সত্যিই কার্যকর এমন ... যেমন এনজিএনএক্স বা পিএইচপি ... আমি এমনকি আইআইএসে সাইগউইন পিএইচপি প্যাকেজটি ব্যবহার করি ...
বোনাস হিসাবে আপনিও এটি ব্যাশ শেল থেকে ব্যবহার করতে পারেন ...
(আমি মনে করি এটি আসল উদ্দেশ্য ছিল ;-))