ইউনিভার্সের সমতুল্য উইন্ডোজে কমান্ড সন্ধান করুন


34

ইউনিক্স সমতুল্য কি খোঁজ Windows এ কমান্ড?

আমি দেখতে পাচ্ছি যে find.exeউইন্ডোজটি আরও একটি এর মতো grep। এর সমতুল্য বিষয়ে আমি বিশেষভাবে আগ্রহী

find . -name [filename]

2
আমার উত্তর দিয়ে কিছু ভুল আছে? আমি কি এটি উন্নতি করতে পারি? আপনি যদি এখনও সাহায্য প্রয়োজন?
— JohannesM

দুঃখিত, আমি এই থ্রেডটি কিছুক্ষণ আগে হারিয়ে ফেলেছিলাম। আপনার উত্তরের জন্য ধন্যবাদ এবং তা তাড়াতাড়ি গ্রহণ না করার জন্য দুঃখিত।
— এআরভি

উত্তর:


21
dir <drive: [drive:]> /s | findstr /i <pattern>

- বিকল্প -

dir /s <drive:>\<pattern>

উদাহরণ

dir c: d: /s | findstr /i example.txt

- বিকল্প -

dir /s c:\example.txt

dir c: /s example.txtকাজ করে।
— দেবসোলার

@ ডেভসোলার আপনি কি আপনার আদেশটি পুনরায় পরীক্ষা করতে পারবেন? আমি এটি উইন্ডোজ 5.1 বিল্ড 2600 এসপি 3 এ পরীক্ষা করেছি, এবং আপনার কমান্ড আমাকে কেবলমাত্র সি ডিরেক্টরিতে ফাইলগুলির তালিকা দেয়:
— জোহানেস

1
আহ ... দুঃখিত স্মৃতি থেকে টাইপ করার জন্য আমাকে সঠিকভাবে পরিবেশন করে। dir /s C:\example.txtএটাই.
— দেবসোলার

1
সর্বাধিক অনুরূপ ফলাফলের জন্য আমি \bসংক্ষিপ্ত (শুধুমাত্র আউটপুট পাথ) ব্যবহার করি ; find <folder> -name <pattern>-> dir /s /b <folder><pattern>। যেমন find /tmp -name *.txt-> dir \s \b C:\temp\*.txt। তবে dirসর্বদা নিখুঁত পাথগুলির একটি তালিকা ফেরত findদেয় , যেখানে সর্বদা পূর্বনির্ধারিত পাথগুলি দেয়<folder>
— হ্যাশব্রাউন

28

Find-ChildItemউইন্ডোজ PowerShell মধ্যে Cmdlet ইউনিক্স / লিনাক্স find কমান্ডের একজন সমতূল্য

http://windows-powershell-scripts.blogspot.in/2009/08/unix-linux-find-equivalent-in.html

ফাইন্ড-চাইল্ড আইটেম বিকল্পের কিছু

  1. Find-ChildItem -Type f -Name ".*.exe"
  2. Find-ChildItem -Type f -Name "\.c$" -Exec "Get-Content {} | Measure-Object -Line -Character -Word"
  3. Find-ChildItem -Type f -Empty
  4. Find-ChildItem -Type f -Empty -OutObject
  5. Find-ChildItem -Type f -Empty -Delete
  6. Find-ChildItem -Type f -Size +9M -Delete
  7. Find-ChildItem -Type d
  8. Find-ChildItem -Type f -Size +50m -WTime +5 -MaxDepth 1 -Delete

প্রকাশ: আমি Find-ChildItemসেমিডলেট এর বিকাশকারী


2
ধন্যবাদ. এই প্রশ্নের উত্তর দেওয়ার জন্য আমি কী খুঁজছি তা অবশ্যই এটি আরও মনের মধ্যে রয়েছে।
— সুপারচীতা

7
Find-ChildItemকোনও অফিসিয়াল সেমিডলেট নয় এবং এটি পাওয়ারশেলের অন্তর্ভুক্ত নয়; আপনাকে কিছু লোকের ওয়ানড্রাইভ থেকে এই সেমিডলেটটি ডাউনলোড করতে হবে । কেবল বাশ, সাইগউইন, ইউনিক্সটিলস বা অন্য কোনও প্রোগ্রাম ডাউনলোড করার মধ্যে কোনও পার্থক্য নেই যা আপনাকে কেবল ইউএনএক্স এর চালাতে দেয় find।
— ওয়ালেন

19

অতিরিক্ত কোনও সেমিডলেট ইনস্টল না করে আপনি কেবল ব্যবহার করতে পারেন Get-ChildItem:

Get-ChildItem -Filter *.zip -Recurse $pwd

1
কোন ক্ষেত্রে আপনি সম্ভবত একটি সংক্ষিপ্তनाव ব্যবহার করতে চান dir, lsবা gciআপনি যদি স্ক্রিপ্ট না লিখে থাকেন।
— স্বোনকি

5

আপনি যদি ডিরেক্টরী হায়ারার্কিতে ফাইলগুলি অনুসন্ধান করার জন্য ইউনিক্সের অনুসন্ধান ব্যবহার করছেন, তবে পাওয়ারশেল উপায়টি Get-ChildItemহ'ল (ওরফে হয় gci) সেমিডলেট ব্যবহার করুন এবং ফলাফলটি Where-Object(ওরফে হয় where) সেমিডলেট দিয়ে ফিল্টার করুন ।

উদাহরণস্বরূপ, C:\Users\এর নামে 'অপরিহার্য' শব্দটি সহ সমস্ত ফাইল (পুনরায় শুরু এবং পুনরাবৃত্তি) সন্ধান করতে নিম্নলিখিত ব্যবহার করুন:

PS> gci -Path "C:\Users\"  -Recurse | where {$_.Name -like '*essential*'}

-likeবিকল্পটি প্যাটার্ন মিলের জন্য ওয়াইল্ডকার্ড ব্যবহার করতে পারবেন।


2

এটি ঠিক জিএনইউ সন্ধান নয়, তবে পাওয়ারশেলের অধীনে লিনাক্স কমান্ড লাইন ফিলোসফির সাথে আরও ঘনিষ্ঠভাবে মিলছে:

PS> dir -recurse -ea 0 | % FullName | sls <grep_string>

উদাহরণ:

PS> cd C:\
PS> dir -recurse -ea 0 | % FullName | sls "Program" | sls "Microsoft"
PS> dir -recurse -ea 0 | % FullName | sls "Program" | sls "Microsoft" | out-gridview

দ্রষ্টব্য: "|% ফুলনাম" এর পরে ফিরে আসা সমস্ত কিছু একটি বস্তুর পরিবর্তে একটি স্ট্রিং।

আপনি যেখানে অপারেটর, "?" ব্যবহার করতে পারেন, তবে এটির আরও কাজ এবং খুব দ্রুত নয়:

PS> cd C:\
PS> dir -Recurse -ea 0 | ? FullName -like "*Program*" 
                       | ? FullName -like "*Microsoft*" 
                       | % FullName 
                       | out-gridview

এখানে একটি দ্রুত শর্টকাট:

PS> function myfind {dir -recurse -ea 0 | % FullName | sls $args }

PS> cd C:\
PS> myfind "Programs" | sls "Microsoft"

#find all text files recursively from current directory
PS> myfind "\.txt$"

#find all files recursively from current directory
PS> myfind .

ইউনিক্স ইউটিলেস থেকে এক্সেক্স গ্রেপ {Find ঠিকমতো কাজ করে না বলে মনে হচ্ছে "এ জাতীয় কোনও ফাইল বা ডিরেক্টরি নেই"। এই সমাধান: পাওয়ারশেল.এক্সই -কম্যান্ড "দির-রেকার্সে -0 |? ফুলনাম-লাইক '*। লগ' | এসএলএস ত্রুটি", একটি ব্যাচের স্ক্রিপ্টের মধ্যে থেকে কাজ করে। দ্রষ্টব্য: ভিতরে একক উদ্ধৃতি অবশ্যই ব্যবহার করা উচিত, বাইরের ডাবল উক্তিগুলি।
— কেভিনফ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.