উইন্ডোজ 7 এর জন্য কমান্ড প্রম্পট গ্রেপ সমান? এটি হ'ল, আমি একটি আদেশের ফলাফলগুলি ফিল্টার করতে চাই:
ব্যাশের ব্যবহার:
ls | grep root
এটি উইন্ডোজ কমান্ড প্রম্পট থেকে কী হবে?
উইন্ডোজ 7 এর জন্য কমান্ড প্রম্পট গ্রেপ সমান? এটি হ'ল, আমি একটি আদেশের ফলাফলগুলি ফিল্টার করতে চাই:
ব্যাশের ব্যবহার:
ls | grep root
এটি উইন্ডোজ কমান্ড প্রম্পট থেকে কী হবে?
উত্তর:
ফাইন্ডস্ট্রের মতো আপনি যা চান তা শোনাচ্ছে। আমি এটি উইন্ডোজ প্ল্যাটফর্মে আনুমানিক গ্রেপ সমতুল্য হিসাবে সর্বদা ব্যবহার করি।
পাইপ সহ অন্য একটি উদাহরণ :
C:\> dir /B | findstr /R /C:"[mp]"
findstrহ'ল রেজেক্স প্যাটার্নে বিকল্প থাকতে পারে না।
findstrডিফল্টরূপে কী আছে ? উইন্ডোজ এক্সপি ?
বিভিন্ন সম্ভাবনা রয়েছে:
grepকমান্ডের একটি পোর্ট ব্যবহার করুন । বিভিন্ন পছন্দ আছে। খালি উল্লিখিতগুলি হ'ল জিএনইউউইন 32 , সাইগউইন এবং অরক্ষিত সামগ্রী । কম সুপরিচিত, তবে কিছু উপায়ে আরও ভাল, এসএফইউএ ইউটিলিটি টুলকিট- এর সরঞ্জামগুলি যা ইউএনআইএক্স -ভিত্তিক অ্যাপ্লিকেশনগুলির জন্য সাবসিস্টেমে চালিত হয় যা উইন্ডোজ 7 আলটিমেট সংস্করণ এবং উইন্ডোজ সার্ভার 2008 আর 2 সহ বাক্সে ঠিক সেখানে আসে। (উইন্ডোজ এক্সপি-র জন্য, ইউনিক্স সংস্করণ ৩.৫-এর জন্য পরিষেবাদি ডাউনলোড ও ইনস্টল করা যায় )) এই টুলকিটটিতে কর্ন এবং সি শেল থেকে এবং এর মাধ্যমে প্রচুর কমান্ড-লাইন টিইউআই সরঞ্জাম রয়েছে এবংmvduperlawk। এটি x86-64 এবং IA64 স্বাদ পাশাপাশি x86-32 উভয় ক্ষেত্রেই আসে। প্রোগ্রামগুলি উইন্ডোজের যথাযথ পসিক্স পরিবেশে cygwin1.dllউইন 32 এর উপর এমুলেটর ডিএলএল (যেমন ) লেয়ারিং জিনিসগুলির চেয়ে চালিত হয় । এবং হ্যাঁ, টুলকিটটির grepপাশাপাশি আরও 300 জন রয়েছে।grepলোকেরা লিখেছেন এবং প্রকাশ করেছেন এমন অনেক নেটিভ উইন 32 কমান্ডগুলির মধ্যে একটি ব্যবহার করুন । উদাহরণস্বরূপ, টিম চাররনের একটি পরিবর্তিত জিএনইউ গ্রেপের একটি নেটিভ উইন 32 সংস্করণ রয়েছে । এছাড়াও রয়েছে PowerGREP , নগ্ন Grep , grepWin , AstroGrep এবং dnGrep না Tui প্রোগ্রাম যদিও এই সব গুই প্রোগ্রাম আছে।findএবং ব্যবহার করুন findstr। বাক্য বাক্সটি এর থেকে আলাদা grep, নোট করুন, নিয়মিত প্রকাশের ক্ষমতা হিসাবে।তাহলে 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"
আপনার প্রাথমিক পুনর্বিবেচনায় আপনি এমএস-ডস লিখেছিলেন, কেবলমাত্র FINDআমি জানি। তবে এটি একটি প্রাচীন ওএস আর ব্যবহৃত হয় না।
উইন্ডোজ এনটি কমান্ড প্রম্পটে (যেমন উইন 2 কে এবং উইন এক্সপি এবং তার পরে যেমন উইন 7, উইন 10) আপনি ব্যবহার করতে পারেন findএবং findstrএবং যদি আপনি GnuWin32 ডাউনলোড করেন তবেgrep
প্রাথমিক পার্থক্যগুলি হ'ল ফাইন্ডাস্টারের কিছু নিয়মিত এক্সপ্রেশন সমর্থন রয়েছে। গ্রেপ নিয়মিত অভিব্যক্তি সেরা সমর্থন করে।
C:\>dir | find "abc"
C:\>dir | find /i "abc"
find /?এবং findstr /?সুইচগুলি কী করে তা আপনাকে দেখায়।
জ্ঞানউইন 32 এর "প্যাকেজ" রয়েছে। আপনি যদি GnuWin32 ডাউনলোড করেন, আমি আপনাকে পরিচিত হতে চাই এমন একগুচ্ছ মৌলিক দরকারী ইউটিলিটিগুলির জন্য কোর্টিলস প্যাকেজটির পরামর্শ দিচ্ছি, তবে গ্রেপ সেটির নিজস্ব প্যাকেজ নয়।
যোগ করা হয়েছে
GnuWin32 এর গ্রেপ, শেষ বার যাচাই করেছিলাম, বয়স্ক। সাইগউইনের গ্রেপ অনেক বেশি আধুনিক up এও মনে রাখবেন যে অনেকে * উইন্ডোজ পোর্ট * নিক্স কমান্ডের চেয়ে ভার্চুয়াল মেশিন ব্যবহার করেন।
আপনি বরং ব্যবহার করেন তাহলে grepবদলে findstr, একটি একক .exeফাইল সংস্করণ UnxUtils , তাই এটি পোর্টেবল এবং এটি ইনস্টল করুন, অথবা Cygwin ভালো কিছু ব্যবহার করার কোনও প্রয়োজন নেই।
.zipফাইলের .exeফাইল। একমাত্র ক্ষুদ্রতর দিকটি হ'ল সংস্করণগুলি কিছুটা পুরানো।
grepউইন্ডোজের জন্যও সরবরাহ করে : gnuwin32.sourceforge.net/packages/grep.htm
আপনি উইন্ডোজে চকোলেটি ইনস্টল করার চেষ্টা করতে পারেন এবং তার মাধ্যমে, গ সরঞ্জামটি ইনস্টল করুন । এটি আপনাকে grepউইন্ডোজে সরবরাহ করবে।
Gowউইন্ডোজে জিএনইউর পক্ষে দাঁড়ান। এটি উইন্ডোজে ইউনিক্স কমান্ড লাইন ইউটিলিটি সরবরাহ করে।
বাশ ব্যবহার
$ ls | grep root
সিএমডি ব্যবহার
> dir /b | findstr root
যেখানে /bঘোরা খ ডিরেক্টরি এবং ফাইল তালিকা হয়
/B, /Rএবং /Cওপি সম্পর্কে জিজ্ঞাসা করেনি, আমার উত্তরটি হুবহু সমমান দেয়
/bকরা হয় dirআউটপুট হিসাবে একই lsআউটপুট। এটি পরীক্ষা করে দেখলে পার্থক্য দেখতে পাবেন। সুতরাং এটি সঠিক সমতুল্য নয়।
আমি হাইব্রিড ব্যাচ / জেএসক্রিপ্ট কোড ব্যবহার করে গ্রেপের জন্য একটি উইন্ডোজ বিকল্প লিখেছিলাম। আমি এটি লিখেছিলাম কারণ ঠিক জিএনইউ উইন 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);
}
}
}
আপনি এটির জন্য সর্বদা আমার গিস্ট পৃষ্ঠায় সর্বশেষতম সংস্করণটি সন্ধান করতে পারেন ।
মাল্টি রিপ্লারার প্রোগ্রাম প্রস্তুত করা হয়েছে যাতে কমান্ড লাইন পরামিতি ব্যবহার করে অনেকগুলি কার্য সম্পাদন করা যায়। কমান্ড লাইনের ব্যবহার নীচে দেখা যাচ্ছে:
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]
আমি ব্যস্তবক্স-ডাব্লু 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কমান্ড প্রম্পটে ব্যবহার করতে পারেন ।
আপনি যদি 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
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