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


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.