ইউনিক্স সমতুল্য কি খোঁজ Windows এ কমান্ড?
আমি দেখতে পাচ্ছি যে find.exe
উইন্ডোজটি আরও একটি এর মতো grep
। এর সমতুল্য বিষয়ে আমি বিশেষভাবে আগ্রহী
find . -name [filename]
ইউনিক্স সমতুল্য কি খোঁজ Windows এ কমান্ড?
আমি দেখতে পাচ্ছি যে find.exe
উইন্ডোজটি আরও একটি এর মতো grep
। এর সমতুল্য বিষয়ে আমি বিশেষভাবে আগ্রহী
find . -name [filename]
উত্তর:
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
কাজ করে।
dir /s C:\example.txt
এটাই.
\b
সংক্ষিপ্ত (শুধুমাত্র আউটপুট পাথ) ব্যবহার করি ; find <folder> -name <pattern>
-> dir /s /b <folder><pattern>
। যেমন find /tmp -name *.txt
-> dir \s \b C:\temp\*.txt
। তবে dir
সর্বদা নিখুঁত পাথগুলির একটি তালিকা ফেরত find
দেয় , যেখানে সর্বদা পূর্বনির্ধারিত পাথগুলি দেয়<folder>
Find-ChildItem
উইন্ডোজ PowerShell মধ্যে Cmdlet ইউনিক্স / লিনাক্স find কমান্ডের একজন সমতূল্য
http://windows-powershell-scripts.blogspot.in/2009/08/unix-linux-find-equivalent-in.html
ফাইন্ড-চাইল্ড আইটেম বিকল্পের কিছু
Find-ChildItem -Type f -Name ".*.exe"
Find-ChildItem -Type f -Name "\.c$" -Exec "Get-Content {} | Measure-Object -Line -Character -Word"
Find-ChildItem -Type f -Empty
Find-ChildItem -Type f -Empty -OutObject
Find-ChildItem -Type f -Empty -Delete
Find-ChildItem -Type f -Size +9M -Delete
Find-ChildItem -Type d
Find-ChildItem -Type f -Size +50m -WTime +5 -MaxDepth 1 -Delete
প্রকাশ: আমি Find-ChildItem
সেমিডলেট এর বিকাশকারী
Find-ChildItem
কোনও অফিসিয়াল সেমিডলেট নয় এবং এটি পাওয়ারশেলের অন্তর্ভুক্ত নয়; আপনাকে কিছু লোকের ওয়ানড্রাইভ থেকে এই সেমিডলেটটি ডাউনলোড করতে হবে । কেবল বাশ, সাইগউইন, ইউনিক্সটিলস বা অন্য কোনও প্রোগ্রাম ডাউনলোড করার মধ্যে কোনও পার্থক্য নেই যা আপনাকে কেবল ইউএনএক্স এর চালাতে দেয় find
।
অতিরিক্ত কোনও সেমিডলেট ইনস্টল না করে আপনি কেবল ব্যবহার করতে পারেন Get-ChildItem
:
Get-ChildItem -Filter *.zip -Recurse $pwd
dir
, ls
বা gci
আপনি যদি স্ক্রিপ্ট না লিখে থাকেন।
আপনি যদি ডিরেক্টরী হায়ারার্কিতে ফাইলগুলি অনুসন্ধান করার জন্য ইউনিক্সের অনুসন্ধান ব্যবহার করছেন, তবে পাওয়ারশেল উপায়টি Get-ChildItem
হ'ল (ওরফে হয় gci
) সেমিডলেট ব্যবহার করুন এবং ফলাফলটি Where-Object
(ওরফে হয় where
) সেমিডলেট দিয়ে ফিল্টার করুন ।
উদাহরণস্বরূপ, C:\Users\
এর নামে 'অপরিহার্য' শব্দটি সহ সমস্ত ফাইল (পুনরায় শুরু এবং পুনরাবৃত্তি) সন্ধান করতে নিম্নলিখিত ব্যবহার করুন:
PS> gci -Path "C:\Users\" -Recurse | where {$_.Name -like '*essential*'}
-like
বিকল্পটি প্যাটার্ন মিলের জন্য ওয়াইল্ডকার্ড ব্যবহার করতে পারবেন।
এটি ঠিক জিএনইউ সন্ধান নয়, তবে পাওয়ারশেলের অধীনে লিনাক্স কমান্ড লাইন ফিলোসফির সাথে আরও ঘনিষ্ঠভাবে মিলছে:
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 .