উইন্ডোজ 7 এর সমান?


241

উইন্ডোজ 7 এর জন্য কমান্ড প্রম্পট গ্রেপ সমান? এটি হ'ল, আমি একটি আদেশের ফলাফলগুলি ফিল্টার করতে চাই:

ব্যাশের ব্যবহার:

ls | grep root

এটি উইন্ডোজ কমান্ড প্রম্পট থেকে কী হবে?


9
কমান্ড প্রম্পটের সাথে এমএস-ডস গুলিয়ে ফেলবেন না। উইন্ডোগুলির জন্য + অনুসন্ধান এবং সন্ধানকারক এবং এমনকি গ্রেপ, এর ব্যবহার .. অবশ্যই দ্রুত অনুসন্ধানের সাথে সহজেই পাওয়া যায়। এমনকি লিনাক্স এবং উইন্ডোতে সমতুল্য কমান্ডের সারণী রয়েছে। এছাড়াও আপনি বাশ উদাহরণটি এমনকি ব্যাশের সাথে নির্দিষ্ট নয় is কেবল আমার ধারণা, * নিক্স ওএস।
বারলপ

উত্তর:


280

ফাইন্ডস্ট্রের মতো আপনি যা চান তা শোনাচ্ছে। আমি এটি উইন্ডোজ প্ল্যাটফর্মে আনুমানিক গ্রেপ সমতুল্য হিসাবে সর্বদা ব্যবহার করি।

পাইপ সহ অন্য একটি উদাহরণ :

C:\> dir /B | findstr /R /C:"[mp]"

হ্যাঁ মনে হচ্ছে যা আমি খুঁজছি। আমি বুঝতে পারি সম্ভবত সীমাবদ্ধতা আছে। আমি এটা চেষ্টা করে দেখব.
ক্রিসজলি

18
তারা কেন এটিকে গ্রেপ বলতে পারল না!
ভিক্টর গ্রেজি

6
@ ভিক্টরগ্রাজি তারা প্রথমে আসলে করেছিলেন, এই নিবন্ধটি দেখুন । এটির নামটি প্রথমে কিগ্রেপ ছিল - তবে পরে নামকরণ করা হয়েছিল।
জিতরেক্স

3
এর সাথে বড় সমস্যাটি findstrহ'ল রেজেক্স প্যাটার্নে বিকল্প থাকতে পারে না।
ওল্ফ

প্রশ্নটি উইন্ডোজ The সম্পর্কে, তবে উইন্ডোজের অন্যান্য সংস্করণগুলির findstrডিফল্টরূপে কী আছে ? উইন্ডোজ এক্সপি ?
পিটার মর্টেনসেন

44

বিভিন্ন সম্ভাবনা রয়েছে:


সাইগউইন আমার জন্য উইন me. এ দুর্দান্তভাবে কাজ করেছেন। আমার গ্রেপ দরকার ছিল এবং জ্ঞানউইন 32 গ্রেপ আমার পক্ষে কাজ করেনি।
কোজুচ

আপনি লিখেন আমি এসইউএ সি-তে পার্ল দেখতে পাচ্ছি না: \ উইন্ডোজ \ এসইউএ> দির পার্ল * / এস / বি ফাইল পাওয়া যায় নি এবং চলমান উদাহরণস্বরূপ
এসইউএর

আপনি আরও লিখেছেন যে এসএফইউএ কিছু দিক থেকে ভাল। কি উপায়ে?
বার্লপ

@ কোজুচ আপনি যদি না বলেন যে এটি কীভাবে কাজ করে না, তবে আপনার মন্তব্যটি কার্যকর নয়
বার্লপ

19

তাহলে PowerShell কমান্ড অনুমতি দেওয়া হয়, ব্যবহার

PS C:\> Get-ChildItem | Select-String root

বা সংক্ষিপ্ত

PS C:\> ls | sls root

সচেতন হন যে উপনামটি slsকেবল পাওয়ারশেল সংস্করণ 3.0 দিয়ে শুরু করা হয়েছে। কম টাইপ করার জন্য আপনি একটি নাম যুক্ত করতে পারেন:

PS C:\> New-Alias sls Select-String

সরাসরি সেন্টিমিডি থেকে পাওয়ারশেল কমান্ড চালাতে, ব্যবহার করুন

C:\>powershell -command "ls | select-string root"

2
গ্রেপ, পাওয়ারশেল উপায়। communary.net/2014/11/10/grep-the-powershell-way
চার্লস বুর্গ

17

আপনার প্রাথমিক পুনর্বিবেচনায় আপনি এমএস-ডস লিখেছিলেন, কেবলমাত্র FINDআমি জানি। তবে এটি একটি প্রাচীন ওএস আর ব্যবহৃত হয় না।

উইন্ডোজ এনটি কমান্ড প্রম্পটে (যেমন উইন 2 কে এবং উইন এক্সপি এবং তার পরে যেমন উইন 7, উইন 10) আপনি ব্যবহার করতে পারেন findএবং findstrএবং যদি আপনি GnuWin32 ডাউনলোড করেন তবেgrep

প্রাথমিক পার্থক্যগুলি হ'ল ফাইন্ডাস্টারের কিছু নিয়মিত এক্সপ্রেশন সমর্থন রয়েছে। গ্রেপ নিয়মিত অভিব্যক্তি সেরা সমর্থন করে।

C:\>dir | find "abc"
C:\>dir | find /i "abc"

find /?এবং findstr /?সুইচগুলি কী করে তা আপনাকে দেখায়।

জ্ঞানউইন 32 এর "প্যাকেজ" রয়েছে। আপনি যদি GnuWin32 ডাউনলোড করেন, আমি আপনাকে পরিচিত হতে চাই এমন একগুচ্ছ মৌলিক দরকারী ইউটিলিটিগুলির জন্য কোর্টিলস প্যাকেজটির পরামর্শ দিচ্ছি, তবে গ্রেপ সেটির নিজস্ব প্যাকেজ নয়।

যোগ করা হয়েছে

GnuWin32 এর গ্রেপ, শেষ বার যাচাই করেছিলাম, বয়স্ক। সাইগউইনের গ্রেপ অনেক বেশি আধুনিক up এও মনে রাখবেন যে অনেকে * উইন্ডোজ পোর্ট * নিক্স কমান্ডের চেয়ে ভার্চুয়াল মেশিন ব্যবহার করেন।


9

আপনি বরং ব্যবহার করেন তাহলে grepবদলে findstr, একটি একক .exeফাইল সংস্করণ UnxUtils , তাই এটি পোর্টেবল এবং এটি ইনস্টল করুন, অথবা Cygwin ভালো কিছু ব্যবহার করার কোনও প্রয়োজন নেই।


এটি আকর্ষণীয় তবে সেই সরঞ্জামটি ইনস্টল করতে হবে।
ক্রিসজলি

3
@ ক্রিস: কোনও ইনস্টলেশন নেই। এটি কেবল একটি .zipফাইলের .exeফাইল। একমাত্র ক্ষুদ্রতর দিকটি হ'ল সংস্করণগুলি কিছুটা পুরানো।
প্যারাড্রয়েড

6
বৃদ্ধ হওয়ার অসুবিধে কী? সফ্টওয়্যার পুরানো হতে পারে? সমস্ত তাজা বাইট।
ব্যবহারকারী অজানা

3
GnuWin32 grepউইন্ডোজের জন্যও সরবরাহ করে : gnuwin32.sourceforge.net/packages/grep.htm
LiuYan 研

3
@ ব্যবহারকারীকে ভালভাবে জানা গেছে, উদাহরণস্বরূপ, আনক্সুটিলস সেড কমান্ডটি পুরানো এবং কোট নির্দিষ্ট করতে \ d যেমন \ d22 সমর্থন করে না। কোনও পুরানো উইজেট এমন কোনও পৃষ্ঠা ডাউনলোড করতে পারে না যা নতুনের পছন্দ হয় এবং আপনি যদি সমর্থন চান তবে তারা আপনাকে বলতে পারে যে আপনি সর্বশেষতমটি পান যা কিছু সমস্যার সমাধান করতে পারে। সত্যিই একটি পুরানো গ্রেপ কোনও সন্দেহ নেই যে বর্তমানের যে
রেগেক্স

3

আপনি উইন্ডোজে চকোলেটি ইনস্টল করার চেষ্টা করতে পারেন এবং তার মাধ্যমে, সরঞ্জামটি ইনস্টল করুন । এটি আপনাকে grepউইন্ডোজে সরবরাহ করবে।

Gowউইন্ডোজে জিএনইউর পক্ষে দাঁড়ান। এটি উইন্ডোজে ইউনিক্স কমান্ড লাইন ইউটিলিটি সরবরাহ করে।


1
এটি একটি প্যাকেজ ম্যানেজার, অ্যাপট-গেটের মতো তবে উইন্ডোজের জন্য। এটি এর নাম পেয়েছে কারণ এটি ডেভেলপার নুগেটের থেকে বন্ধ করে দিয়েছে যা ভিজ্যুয়াল স্টুডিওর জন্য একটি প্যাকেজ ম্যানেজার, এবং এটি নাগেটের মতো মনে হয় (মুরগীর ন্যুগেটের মতো), সুতরাং তিনি ভেবেছিলেন তিনি "মজার" বা "চালাক" হয়ে কল করবেন তার প্রোগ্রাম চকলেট নুগেট। আমি শুনেছি যে একটি পডকাস্টে তার সাক্ষাত্কার নিয়েছিল।
গাও

1
আমি গায়ে নতুন, ব্যবহারের কয়েক দিন পরে আমি সাক্ষ্য দিতে পারি যে এটি আমার কাছে অনেক পছন্দ - আমি ইউনিক্সের পুরানো বন্দরগুলির আগে যেগুলি ব্যবহার করেছিলাম তার চেয়ে এটি ভাল।
রদিম সেরনেজ

@RadimCernej আপনার মন্তব্যকে দরকারী যদি না আপনি রাষ্ট্র নয় কিভাবে আপনি কি মনে করেন এটা উত্তম।
বারলপ

@ বারলপ: যেহেতু আমি আমার জানুয়ারী -2016 মন্তব্যটি লিখেছি আমি ধীরে ধীরে এবং সম্পূর্ণ গায়ে স্যুইচ করেছি। এখন পর্যন্ত কোনও ত্রুটি নেই, এটির যে সমস্ত ইউটিলিটিগুলি আমার প্রয়োজন / ব্যবহার করে তা পাথ হ'ল মাইক্রোসফ্ট ফর্ম্যাটে আউটপুট (অন্য প্রোগ্রামগুলিতে অনুলিপি / পেস্ট করা সহজ করে তোলে)। গা যথেষ্ট পরিমাণে আক্রমণাত্মক নয় (ইনস্টল করা এবং অপসারণ করা সহজ) যে আপনি এটি পরীক্ষা-চালিত করার জন্য আমি দৃ .়ভাবে সুপারিশ করি।
রদিম সের্নেজ

2

বাশ ব্যবহার

$ ls | grep root

সিএমডি ব্যবহার

> dir /b | findstr root

যেখানে /bঘোরা ডিরেক্টরি এবং ফাইল তালিকা হয়


2
এটি অন্য উত্তরটির সদৃশ এবং কোনও নতুন সামগ্রী যুক্ত করে না। অবদানের জন্য আপনার কাছে নতুন কিছু না থাকলে দয়া করে কোনও উত্তর পোস্ট করবেন না।
ডেভিডপস্টিল

@ ডেভিডপস্টিল: এটি "টিএল; ডিআর" ব্যবহারকারীদের (আমার মতো) জন্য দ্রুত সমাধান
ভ্লাদক্রাস

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

@ ডেভিডপস্টিল, কিছু মনে করবেন না তবে স্বীকৃত উত্তরে একাধিক অতিরিক্ত এবং অব্যক্ত চাবি রয়েছে /B, /Rএবং /Cওপি সম্পর্কে জিজ্ঞাসা করেনি, আমার উত্তরটি হুবহু সমমান দেয়
ভ্লাদক্রাস

/bকরা হয় dirআউটপুট হিসাবে একই lsআউটপুট। এটি পরীক্ষা করে দেখলে পার্থক্য দেখতে পাবেন। সুতরাং এটি সঠিক সমতুল্য নয়।
ডেভিডপস্টিল

2

আমি হাইব্রিড ব্যাচ / জেএসক্রিপ্ট কোড ব্যবহার করে গ্রেপের জন্য একটি উইন্ডোজ বিকল্প লিখেছিলাম। আমি এটি লিখেছিলাম কারণ ঠিক জিএনইউ উইন 32 গ্রেপ বন্দরে পালানোর চরিত্রগুলি পাওয়া একটি সত্যিকারের ব্যথা ছিল। এই সংস্করণটি আরও অনেকটা কাজ করে যেমন আপনি উইন্ডোজে জিএনইউ সংস্করণটি কীভাবে কাজ করতে চান তা চান:

@set @junk=1 /*
@cscript //nologo //E:jscript %~f0 %*
@goto :eof */

var args=WScript.Arguments, argCnt=args.Length, stdin=WScript.StdIn, stdout=WScript.StdOut;
var replaceSingleQuotes=false, printMatchesOnly=false, matchString, flagString, regex, argDx=0;

if(argCnt==0) {
    throw new Error("You must provide search criteria.");
}

flagString=""
if(argCnt>1) {
    for(var bLoop=true; bLoop&&argDx<argCnt-1; argDx++) {
        switch(args(argDx)) {
        case '-t': replaceSingleQuotes=true; break;
        case '-o': printMatchesOnly=true; break;
        case '-g': flagString+="g"; break;
        case '-i': flagString+="i"; break;
        case '-m': flagString+="m"; break;
        default: bLoop=false; break;
        }
    }
}
if(replaceSingleQuotes) {
    matchString=args(argCnt-1).replace("'", '"');
} else {
    matchString=args(argCnt-1);
}

if(printMatchesOnly) {
    while(!stdin.AtEndOfStream) {
        var sLine=stdin.ReadLine();
        if(flagString.Length) regex=new RegExp(matchString, flagString);
        else regex=new RegExp(matchString);
        var m,matches=[],startDx=0;
        while((m=regex.exec(sLine.substr(startDx))) !== null) {
            stdout.WriteLine(m[0]);
            startDx+=m.lastIndex;
        }
    }
} else {
    if(flagString.Length) regex=new RegExp(matchString, flagString);
    else regex=new RegExp(matchString);
    while(!stdin.AtEndOfStream) {
        var sLine=stdin.ReadLine();
        if(regex.test(sLine)) {
            stdout.WriteLine(sLine);
        }
    }

}

আপনি এটির জন্য সর্বদা আমার গিস্ট পৃষ্ঠায় সর্বশেষতম সংস্করণটি সন্ধান করতে পারেন ।


1

http://www.multireplacer.com

মাল্টি রিপ্লারার প্রোগ্রাম প্রস্তুত করা হয়েছে যাতে কমান্ড লাইন পরামিতি ব্যবহার করে অনেকগুলি কার্য সম্পাদন করা যায়। কমান্ড লাইনের ব্যবহার নীচে দেখা যাচ্ছে:

MultiReplacer [Multi Replacer File] | [Search files] | [Search folders]
[-Subs] [-NoSubs] [-IncPtr=pattern] [-ExcPtr=patterns] [-DestDir=destination]
[-DMAnyTime]
[-DMWithinanhour] [-DMToday] [-DMYesterday] [-DMThisweek] [-DMThismonth]
[-DMThisYear]
[-CDMAfter=date] [-CDMBefore=date] [-MinFileSize=bytes count]
[-MaxFileSize=bytes count]
[-Search=text] [-Case] [-NoCase] [-Regex] [-NoRegex] [-SubMatchText=text]
[-ReplaceText=text]
[-StartSearch] [-StartReplace] [-AutoClose] [-StopAfterMatchThisFile] [-StopAfterMatchAll]
[-ExtractedWordsFile=filename] [-ExtractedLinesFile=filename] [-
ReportFile=filename]

0

আপনি এখনও grepএই সরঞ্জামটি UnxUtils ডাউনলোড করে আপনার পরিচিত এবং অন্যান্য লিনাক্স কমান্ডগুলি ব্যবহার করতে পারেন এবং এটি আপনার PATHপরিবেশ পরিবর্তনশীলে স্থান যুক্ত করতে পারেন


unxutils গ্রেপ আপনি পেতে হিসাবে দেরী না .. unx গ্রেপ হয় 2.4.2তবে gnuwin32 একটি পরে আছে 2.5.4
বারলপ

0

আমি ব্যস্তবক্স-ডাব্লু 32 ব্যবহার করার পরামর্শ দেব কারণ এটি প্রায় 500 কেবি আকারের এবং সক্রিয়ভাবে রক্ষণাবেক্ষণ করা হচ্ছে।

যাতে আপনার ক্ষেত্রে কমান্ড প্রম্পটে এটি হয়:

busybox ls | busybox grep root

doskeyকমান্ড তৈরি করতে আপনি একটি ব্যাচ ফাইলের মাধ্যমে কমান্ড প্রম্পট প্রবর্তন ব্যবহার করতে পারেন , যেমন:

doskey ls="path\to\busybox.exe" ls $*

doskey grep="path\to\busybox.exe" grep $*

তারপরে আপনি ls | grep rootকমান্ড প্রম্পটে ব্যবহার করতে পারেন ।


এটির একটি অ্যান্ড্রয়েড
বিল্ডও রয়েছে

0

আপনি যদি grepআপনার উইন্ডোজের পরিবেশে সবচেয়ে সহজ যোগ করতে চান , তবে c:\windows\system32এই কমান্ডটি ব্যবহার করে নেভিগেট করুন এবং একটি সামান্য ব্যাচের স্ক্রিপ্ট যুক্ত করুন:

echo findstr %1 > grep.bat

এখন তুমি পার

dir | grep notepad.exe

যা সত্যিই বিষ্ঠার মিশ্রণ। সুতরাং lsএই পোস্টে ব্যাখ্যা হিসাবে অন্য ব্যাচ স্ক্রিপ্ট যোগ করুন

echo dir %1 > %systemroot%\system32\ls.bat

এখন জিনিসগুলি কিছুটা পরিচিত বলে মনে হচ্ছে

ls | grep notepad

আছে HTH


-2
echo findstr %1 %2 %3 %4 %5 > %systemroot%\grep.cmd

এটি দ্রুত এবং নোংরা সমতুল্য হতে চলেছে।

C:\Windows\system32>dir | grep xwiz
C:\Windows\system32>findstr xwiz
2009.06.10  23:03             4.041 xwizard.dtd
2009.07.14  03:39            42.496 xwizard.exe
2009.07.14  03:41           432.640 xwizards.dll

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