উত্তর:
(আমি এখনও পাওয়ারগ্রিপ এর অনুরাগী , কিন্তু আমি এটি আর ব্যবহার করি না))
আমি জানি আপনি ইতিমধ্যে এটি উল্লেখ করেছেন, তবে পাওয়ারগ্রিপ দুর্দান্ত ।
আমার প্রিয় কয়েকটি বৈশিষ্ট্য হ'ল:
এখন আমি বুঝতে পারি যে অন্যান্য গ্রেপ সরঞ্জামগুলি উপরের সমস্ত কিছু করতে পারে। পাওয়ারগ্রেইপি প্যাকেজগুলি কেবলমাত্র ব্যবহারের জন্য খুব সহজেই জিইউতে রূপান্তর করে।
একই বিস্ময়কর লোকদের কাছ থেকে যারা আপনাকে রেগেক্সবাডি এনেছে এবং তাদের বিষয়গুলিকে ভালবাসার বাইরে যাদের সাথে আমার কোনও সম্পর্ক নেই। (এটি লক্ষ করা উচিত যে রেজেক্সবাডি গ্রিপের একটি মূল সংস্করণ (উইন্ডোজের জন্য) নিজেই অন্তর্ভুক্ত করে এবং এটি পাওয়ারগ্রিপ থেকে অনেক কম ব্যয় করে))
FINDSTR মোটামুটি শক্তিশালী, নিয়মিত এক্সপ্রেশন সমর্থন করে এবং ইতিমধ্যে সমস্ত উইন্ডোজ মেশিনে থাকার সুবিধা রয়েছে।
c:\> FindStr /?
Searches for strings in files.
FINDSTR [/B] [/E] [/L] [/R] [/S] [/I] [/X] [/V] [/N] [/M] [/O] [/P] [/F:file]
[/C:string] [/G:file] [/D:dir list] [/A:color attributes] [/OFF[LINE]]
strings [[drive:][path]filename[ ...]]
/B Matches pattern if at the beginning of a line.
/E Matches pattern if at the end of a line.
/L Uses search strings literally.
/R Uses search strings as regular expressions.
/S Searches for matching files in the current directory and all
subdirectories.
/I Specifies that the search is not to be case-sensitive.
/X Prints lines that match exactly.
/V Prints only lines that do not contain a match.
/N Prints the line number before each line that matches.
/M Prints only the filename if a file contains a match.
/O Prints character offset before each matching line.
/P Skip files with non-printable characters.
/OFF[LINE] Do not skip files with offline attribute set.
/A:attr Specifies color attribute with two hex digits. See "color /?"
/F:file Reads file list from the specified file(/ stands for console).
/C:string Uses specified string as a literal search string.
/G:file Gets search strings from the specified file(/ stands for console).
/D:dir Search a semicolon delimited list of directories
strings Text to be searched for.
[drive:][path]filename
Specifies a file or files to search.
Use spaces to separate multiple search strings unless the argument is prefixed
with /C. For example, 'FINDSTR "hello there" x.y' searches for "hello" or
"there" in file x.y. 'FINDSTR /C:"hello there" x.y' searches for
"hello there" in file x.y.
Regular expression quick reference:
. Wildcard: any character
* Repeat: zero or more occurances of previous character or class
^ Line position: beginning of line
$ Line position: end of line
[class] Character class: any one character in set
[^class] Inverse class: any one character not in set
[x-y] Range: any characters within the specified range
\x Escape: literal use of metacharacter x
\<xyz Word position: beginning of word
xyz\> Word position: end of word
ব্যবহারের উদাহরণ: findstr text_to_find *
বা পুনরাবৃত্তি অনুসন্ধান করতেfindstr /s text_to_find *
গ্রেপউইন ফ্রি এবং ওপেন সোর্স (জিপিএল)
আমি গ্রাপউইন ব্যবহার করছি যা একটি কচ্ছপী ছেলে দ্বারা লেখা ছিল। উইন্ডোজে কাজ করে ...
জুলাই 2013 আপডেট করুন:
উইন্ডোজটিতে আমি এখন সমস্ত সময় ব্যবহার করি আর একটি গ্রেপ সরঞ্জাম হ'ল অ্যাস্ট্রোগ্রেপ :
আমাকে কেবল লাইন অনুসন্ধানের চেয়ে আরও বেশি দেখানোর ক্ষমতা (যেমন - কমান্ড-লাইন গ্রেপের --context = NUM) অমূল্য।
এবং এটি দ্রুত। খুব দ্রুত, এমনকি এসএসডি বিহীন একটি পুরানো কম্পিউটারেও (আমি জানি, তারা এই হার্ড ড্রাইভটি স্পিনিং ডিস্ক দিয়ে করত, যাদের প্লাটার বলা হত , ঠিক ক্রেজি?)
এটা বিনামূল্যে.
এটি বহনযোগ্য (সরল জিপ সংরক্ষণাগার থেকে আনজিপ করা)।
আসল উত্তর অক্টোবর ২০০৮
Gnu গ্রেপ ঠিক আছে
আপনি এটি এখানে উদাহরণস্বরূপ ডাউনলোড করতে পারেন: ( সাইট এফটিপি )
সমস্ত স্বাভাবিক বিকল্প এখানে।
অর্থাৎ সঙ্গে মিলিত হাবা এবং xargs (অন্তর্ভুক্ত 'খুঁজতে', থেকে GnuWin32 ), এবং আপনি কি সত্যিই তোমার মত স্ক্রিপ্ট ইউনিক্স ছিল পারেন!
পুনরাবৃত্তভাবে গ্রেপ করতে আমি যে বিকল্পগুলি ব্যবহার করছি তাও দেখুন :
grep --include "*.xxx" -nRHI "my Text to grep" *
পাওয়ারশেলের সিলেক্ট-স্ট্রিংয়ের সেমিডলেটটি ভি 1.0-তে ভাল ছিল, তবে ভি 2.0 এর ক্ষেত্রে এটি বেশ ভাল । উইন্ডোজটির সাম্প্রতিক সংস্করণগুলিতে পাওয়ারশেল তৈরির অর্থ এখানে আপনার দক্ষতা সর্বদা কার্যকর হবে, প্রথমে কিছু ইনস্টল না করে।
সিলেক্ট- স্ট্রিংয়ে নতুন প্যারামিটার যুক্ত করা হয়েছে : সিলেক্ট-স্ট্রিং সেমিডলেট এখন নতুন প্যারামিটার সমর্থন করে যেমন:
- -সূত্র: এটি আপনাকে ম্যাচের লাইনের আগে এবং পরে লাইনগুলি দেখতে দেয়
- -আলম্যাচস: যা আপনাকে একটি লাইনে সমস্ত ম্যাচ দেখতে দেয় (আগে, আপনি কেবল একটি লাইনে প্রথম ম্যাচ দেখতে পেতেন)
- -নটম্যাচ: গ্রেপ-এর সমান
- -এনকোডিং: অক্ষর এনকোডিং নির্দিষ্ট করতে
আমি এটি একটি ফাংশন তৈরি করতে সমীচীন এটি gcir
জন্য Get-ChildItem -Recurse .
স্মার্টগুলির সাথে, পরামিতি সঠিকভাবে পাস, এবং একটি ওরফে ss
জন্য Select-String
। সুতরাং আপনি একটি লেখা:
gcir * .txt | ss foo
ls . *.txt -r| sls -ca "SomeString"
sls
জন্য Select-String
সত্যিই অত্যন্ত দীর্ঘ?
এটি ঠিক 'গ্রেপ' বিভাগে না পড়তে পারে তবে এজেন্টরানস্যাক নামে একটি ইউটিলিটি ছাড়া আমি উইন্ডোজটিতে যেতে পারিনি । এটি একটি গি-ভিত্তিক "ফাইলগুলিতে সন্ধান করুন" রেগেক্স সমর্থন সহ ইউটিলিটি। কোনও ফোল্ডারে ডান-ক্লিক করতে, "রিস্যাক .." টিপুন এবং আপনি যা সন্ধান করছেন সেগুলি সহ ফাইলগুলি খুঁজে পেতে এটি মৃত। অত্যন্ত দ্রুত।
আপনি প্রশ্নটি জিজ্ঞাসা করার পরে বেশ কয়েক বছর হয়ে গেছে, তবে আমি অ্যাস্ট্রোগ্রেপ ( http://astrogrep.sourceforge.net ) এর পরামর্শ দেব ।
এটি বিনামূল্যে, মুক্ত উত্স এবং একটি সহজ ইন্টারফেস রয়েছে। আমি সর্বদা কোড অনুসন্ধান করতে এটি ব্যবহার করি।
পাওয়ারশেলের কয়েকবার উল্লেখ করা হয়েছে। আপনি কীভাবে বাস্তবে এটি একটি গ্রেপিশ উপায়ে ব্যবহার করবেন তা এখানে:
Get-ChildItem -recurse -include *.txt | Select-String -CaseSensitive "SomeString"
SomeString
সংবেদনশীলতার সাথে এটি বর্তমান ডিরেক্টরি গাছের সমস্ত পাঠ্য ফাইল বারবার অনুসন্ধান করে ।
আরও ভাল, এটি চালান:
function pgrep { param([string]$search, [string]$inc) Get-ChildItem -recurse -include $inc | Select-String -CaseSensitive $search }
তারপরে:
pgrep SomeStringToSearch *.txt
তারপরে সত্যই এটি যাদুকরী করতে আপনার পাওয়ারশেল প্রোফাইলে ফাংশন ওরফে যুক্ত করুন এবং সঠিক কমান্ড লাইনের সরঞ্জাম না পেয়ে আপনি প্রায় ব্যথা হ্রাস করতে পারেন।
সাইগউইন গ্রেপ অন্তর্ভুক্ত। আপনি সাইগউইন ইনস্টল করলে সমস্ত জিএনইউ সরঞ্জামগুলি এমএমড ইউনিক্স স্টাফ উইন্ডোজে দুর্দান্ত কাজ করে।
উইন্ডোতে গিট = গ্রেডে সেমিডি.এক্সে
আমি সন্ধান পেয়েছি গিট ইনস্টল করা আপনাকে কিছু বেসিক লিনাক্স কমান্ড দেবে: বিড়াল, গ্রেপ, স্ক্যাপ এবং অন্যান্য সমস্ত ভাল ones
আপনার প্যাথএইচটিতে গিট বিন ফোল্ডারটি ইনস্টল করুন এবং তারপরে আপনার সেন্টিমিডি.এক্সই-তে বেসিক লিনাক্সের কার্যকারিতা রয়েছে!
ডিএনজিইআরপি উইন্ডোজের জন্য একটি ওপেন সোর্স গ্রেপ সরঞ্জাম। এটি সহ অনেকগুলি দুর্দান্ত বৈশিষ্ট্যগুলিকে সমর্থন করে:
আইএমএইচও, এটির একটি সুন্দর এবং পরিষ্কার ইন্টারফেসও রয়েছে :)
ঠিক আছে, জিএনইউ গ্রেপের উইন্ডোজ বন্দরের পাশে এখানে:
http://gnuwin32.sourceforge.net/
বোরল্যান্ডের গ্রেপ রয়েছে (জিএনইউ একের সাথে খুব সমান) ফ্রিওয়্যার বোরল্যান্ডের ফ্রি সি ++ কম্পাইলার এ উপলব্ধ (এটি কমান্ড লাইনের সরঞ্জাম সহ একটি ফ্রিওয়্যার)।
আমি বেশ কিছু সময়ের জন্য উইন 32 এর জন্য জিএনইউ ইউটিলিটিগুলি সফলভাবে ব্যবহার করেছি এবং এটি উইন 32 এর জন্য একটি ভাল গ্রেপ পাশাপাশি লেজ এবং অন্যান্য হ্যান্ডেল জিএনও ব্যবহার রয়েছে। আমি প্যাকেজড শেল এড়িয়ে চলেছি এবং উইন 32 কমান্ড প্রম্পটে সরাসরি এক্সিকিউটেবলগুলি ব্যবহার করি।
যে টেইলটি প্যাকেজ করা হয়েছে তা বেশ ভাল একটি ছোট অ্যাপ্লিকেশন।
আমি আবা অনুসন্ধান এবং প্রতিস্থাপনের লেখক । পাওয়ারগ্রিপ যেমন ঠিক তেমনি এটি নিয়মিত ভাব প্রকাশ করে, আরও ব্যবহারের জন্য নিদর্শন সংরক্ষণ করে, প্রতিস্থাপনের জন্য পূর্বাবস্থায় ফিরে আসে, এইচটিএমএল / সিএসএস / জেএস / পিএইচপি জন্য সিনট্যাক্স হাইলাইটের সাথে পূর্বরূপ, ইউটিএফ -8 এবং ইউটিএফ -16 সহ বিভিন্ন এনকোডিংগুলি সমর্থন করে।
পাওয়ারগ্রিপ এর তুলনায় জিইউআই কম বিশৃঙ্খলাযুক্ত । প্যাটার্ন টাইপ করার সাথে সাথে আবা তাত্ক্ষণিকভাবে অনুসন্ধান শুরু করে (বর্ধিত অনুসন্ধান), যাতে আপনি নিয়মিত প্রকাশের সাথে পরীক্ষা করতে পারেন এবং তত্ক্ষণাত্ ফলাফলগুলি দেখতে পারেন।
আপনি আমার সরঞ্জাম চেষ্টা করতে স্বাগত জানাই; আমি কোন প্রশ্নের উত্তর দিতে খুশি হবে।
আমি উইন্ডোজের জন্য একটি নিখরচায় গ্রেপ সরঞ্জাম চেয়েছিলাম যা আপনাকে কোনও ফোল্ডারে ডান ক্লিক করতে এবং প্রতিটি ফাইলের একটি রেজেক্স অনুসন্ধান করতে অনুমতি দেয় - কোনও নাগ স্ক্রিন ছাড়াই।
findstr
পূর্ববর্তী পোস্টে উল্লিখিত উপর ভিত্তি করে নিম্নলিখিতটি একটি দ্রুত সমাধান দেওয়া হয়েছে is
আপনার হার্ড ড্রাইভে কোথাও একটি পাঠ্য ফাইল তৈরি করুন যেখানে আপনি দীর্ঘকালীন সরঞ্জাম রাখেন। .Bat বা .Cmd এর নাম পরিবর্তন করুন এবং এতে নিম্নলিখিতটি আটকে দিন:
@echo off
set /p term="Search term> "
del %temp%\grepresult.txt
findstr /i /S /R /n /C:"%term%" "%~1\*.*" > "%temp%\grepresult.txt"
start notepad "%temp%\grepresult.txt"
তারপরে সেন্ডটো ফোল্ডারে ব্রাউজ করুন। উইন্ডোজ 7-এ ব্রাউজ %APPDATA%\Microsoft\Windows\SendTo
করুন এবং সেই সেন্ডটো ফোল্ডারে ব্যাচ ফাইলের একটি শর্টকাট টেনে আনুন।
আমি শর্টকাটটি নামটি 1 GREP
পাঠিয়েছি পাঠানোর তালিকার শীর্ষে রাখতে।
আমি এর সাথে যে জিনিসগুলি করতে চাই তা হ'ল আউটপুটটি পাইপ করা findstr
এইচটিএমএল ফাইল তৈরি করতে পারে এমন কোনও মাধ্যমে যাতে আপনি ফাইলটি খোলার জন্য প্রতিটি আউটপুট লাইনে ক্লিক করতে পারেন। এছাড়াও, আমি মনে করি না এটি ফোল্ডারে শর্টকাট নিয়ে কাজ করে। আমাকে প্যারামিটারটি পরীক্ষা করতে হবে এবং এটিতে ".lnk" রয়েছে কিনা তা দেখতে হবে।
আনক্সুটিলসটি আমি ব্যবহার করি এটি আমার পক্ষে পুরোপুরি কাজ করে ...
আমি বোরল্যান্ডের গ্রেপ কয়েক বছর ধরে ব্যবহার করেছি তবে সবেমাত্র একটি প্যাটার্ন পেয়েছি যা এটি মেলে না। Eeeks। বছরের পর বছর ধরে এটি আর কী খুঁজে পাওয়া যায়নি? আমি একটি সাধারণ পাঠ্য অনুসন্ধান প্রতিস্থাপন লিখেছিলাম যা গ্রেপের মতো পুনরাবৃত্তি করে - এটি উত্স ফোর্জে FS.EXE E
গ্রেপ ব্যর্থ ...
C:\DEV>GREP GAAPRNTR \SOURCE\TPALIB\*.PRG
<no results>
উইন্ডোজ সন্ধানকারী কাজ করে ...
C:\DEV>FINDSTR GAAPRNTR \SOURCE\TPALIB\*.PRG
\SOURCE\TPALIB\TPGAAUPD.PRG:ffSPOOL(cRPTFILE, MEM->GAAPRNTR, MEM->NETTYPE)
\SOURCE\TPALIB\TPPRINTR.PRG: AADD(mPRINTER, TPACONFG->GAAPRNTR)
\SOURCE\TPALIB\TPPRINTR.PRG: IF TRIM(TPACONFG->GAAPRNTR) <> TRIM(mPRINTER[2])
\SOURCE\TPALIB\TPPRINTR.PRG: REPLACE TPACONFG->GAAPRNTR WITH mPRINTER[2]
আমার পছন্দের সরঞ্জামটি যথাযথভাবে উইন্ডোজ গ্রেপ নামকরণ করেছে :
আপনি যদি উইন্ডোজ গ্রেপ সরঞ্জামটি ব্যবহার করার সহজ উপায় চান, আমি পি-গ্রেপ নামে একটি তৈরি করেছি যা আমি আমার ওয়েবসাইট থেকে বিনামূল্যে ডাউনলোডের জন্য উপলব্ধ করেছি: www.adjutantit.com - হোম মেনু, ডাউনলোডগুলি।
উইন্ডোজ গ্রেপ মনে হয়েছিল যে প্রচুর সংখ্যক ফাইল নিয়ে সমস্যা আছে, তাই আমি আমার নিজের লেখা - যা আরও নির্ভরযোগ্য বলে মনে হচ্ছে। আপনি একটি ফোল্ডার নির্বাচন করতে পারেন, ডান ক্লিক করুন এবং এটি পি-গ্রেপ প্রেরণ করতে পারেন। সেন্ডো ফোল্ডারটি ইনস্টলেশন চলাকালীন আনপেটেড হয়।
আর একটি ভাল পছন্দ হ'ল এমএসওয়াইএস । আপনাকে আরও উত্পাদনশীল হওয়ার সুযোগ দেওয়ার জন্য এটি আপনাকে আরও কিছু জিএনইউ ইউটিলিটি দেয়।
আমি এজেসি গ্রেপ ব্যবহার করছি বছরের পর বছর ধরে । আমি খুঁজে পেল একমাত্র প্রধান সীমাবদ্ধতা হ'ল ফাইল পাথ 255 টি অক্ষরের মধ্যে সীমাবদ্ধ এবং এটি কেবল একটি সতর্কতা জারি করার পরিবর্তে যখন এটির মুখোমুখি হয় তখন তা বন্ধ হয়ে যায়। এটি বিরক্তিকর তবে খুব প্রায়ই ঘটে না happen
আমি এটি 64-বিট উইন্ডোজ 7 আলটিমেটে ব্যবহার করি, সুতরাং এর 64-বিট শংসাপত্রগুলি ঠিক আছে।
আমি এটি চিরকাল ব্যবহার করেছি এবং ভাগ্যক্রমে এটি এখনও উপলব্ধ। এটি সুপার দ্রুত এবং খুব ছোট।
যদি সলিউশনগুলির কোনওটিই আপনি সন্ধান করছেন এমনটি না হয় তবে সম্ভবত আপনি FindStr এ একটি মোড়ক লিখতে পারেন যা আপনার প্রয়োজন মতো করে?
ফাইন্ডএসআরটি যাইহোক বেশ ভাল তাই এটি কেবল একটি জিইউআইকে কড়া নাড়ানো উচিত (যদি আপনি এটি চান) এবং কয়েকটি অতিরিক্ত বৈশিষ্ট্য সরবরাহ করা উচিত (যেমন একটি নির্দিষ্ট স্ট্রিং [উপরে উল্লিখিত] রয়েছে এমন ফাইলগুলির গণনা সন্ধানের সাথে এটি সংযুক্ত করার মতো)।
এটি অবশ্যই ধরে নেয় আপনার এটি করার জন্য প্রয়োজনীয়তা, সময় এবং ঝোঁক রয়েছে!
আমি সাইগউইন আমার মেশিনে ইনস্টল করেছি এবং আমার পরিবেশগত পথে সাইগউইন বিন ডিরেক্টরিটি রেখেছি, তাই সাইগউইন গ্রেপ একটি কমান্ড লাইনে স্বাভাবিকের মতো কাজ করে যা এই মুহুর্তে গ্রেপের জন্য আমার সমস্ত স্ক্রিপ্টিং প্রয়োজনীয়তা সমাধান করে।