विंडोज पर यूनिक्स खोज कमांड के बराबर क्या है ?
मैं देख रहा हूं कि find.exeविंडोज पर ए ज्यादा है grep। मैं विशेष रूप से इसके समकक्ष रुचि रखता हूं
find . -name [filename]
विंडोज पर यूनिक्स खोज कमांड के बराबर क्या है ?
मैं देख रहा हूं कि 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 यूनिक्स / लिनक्स खोजने आदेश के बराबर है
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 -EmptyFind-ChildItem -Type f -Empty -OutObjectFind-ChildItem -Type f -Empty -DeleteFind-ChildItem -Type f -Size +9M -DeleteFind-ChildItem -Type dFind-ChildItem -Type f -Size +50m -WTime +5 -MaxDepth 1 -Deleteप्रकटीकरण: मैं Find-ChildItemcmdlet का डेवलपर हूं
Find-ChildItemएक आधिकारिक cmdlet नहीं है और यह PowerShell में शामिल नहीं है; आपको इस cmdlet को किसी लड़के के OneDrive से डाउनलोड करना होगा । इसमें कोई फर्क नहीं है और बस बैश, साइबरविन, यूनिक्सटिल्स या किसी भी अन्य प्रोग्राम को डाउनलोड करने से आपको यूनिक्स चलाने की सुविधा मिलती है find।
बिना अतिरिक्त cmdlets स्थापित किए, आप बस उपयोग कर सकते हैं Get-ChildItem:
Get-ChildItem -Filter *.zip -Recurse $pwd
dir, lsया gci, जब तक आप एक स्क्रिप्ट नहीं लिख रहे हैं।
यदि आप एक डायरेक्टरी पदानुक्रम में फ़ाइलों की खोज करने के लिए यूनिक्स की खोज का उपयोग कर रहे हैं, तो पॉवर्सशेल तरीका Get-ChildItem(उपनाम अन्य gci) cmdlet का उपयोग करना है और (alias is ) cmdlet के साथ परिणामों को फ़िल्टर करना Where-Objectहै where।
उदाहरण के लिए, C:\Users\इसके नाम में 'आवश्यक' शब्द के साथ सभी फाइलें (शुरू से और पुनरावर्ती) खोजने के लिए, निम्नलिखित का उपयोग करें:
PS> gci -Path "C:\Users\" -Recurse | where {$_.Name -like '*essential*'}
-likeविकल्प आपको पैटर्न मिलान के लिए वाइल्डकार्ड का उपयोग करने की अनुमति देता है।
यह एक बिल्कुल GNU नहीं है, लेकिन अधिक शक्तियुक्त लाइन लाइन से मेल खाता है।
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
नोट: एक वस्तु के बजाय "|% FullName" के बाद लौटी हर चीज एक स्ट्रिंग है।
आप कहां ऑपरेटर का उपयोग कर सकते हैं, "?", हालांकि, इसका अधिक काम, और बहुत तेज नहीं:
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 .