2010-01-20 11 views
8

मैं CLI कमांड बनाने की कोशिश कर रहा हूं TFS उन सभी फ़ाइलों को जांचें जिनमें उनमें कोई विशेष स्ट्रिंग है। मैं मुख्य रूप से Cygwin का उपयोग करता हूं, लेकिन tf कमांड को सिग्विन पर्यावरण के भीतर चलने पर पथ को हल करने में समस्या होती है।इस बैश कमांड के बराबर पावरशेल क्या है?

मुझे लगता है कि पावरशेल एक ही काम करने में सक्षम होना चाहिए, लेकिन मुझे यकीन नहीं है कि बराबर कमांड grep और xargs हैं।

तो, Bash कमांड के बराबर पावरशेल संस्करण क्या होगा?

grep -l -r 'SomeSearchString' . | xargs -L1 tf edit 

उत्तर

12

PowerShell में कुछ यूनिक्स उपनाम (ls की तरह) का उपयोग करना:

ls -r | select-string 'SomeSearchString' | Foreach {tf edit $_.Path} 

या एक अधिक विहित Powershell रूप में:

Get-ChildItem -Recurse | Select-String 'SomeSearchString' | 
    Foreach {tf edit $_.Path} 

और का उपयोग कर PowerShell उपनाम:

gci -r | sls 'SomeSearchString' | %{tf edit $_.Path} 
2

मुझे ग्रोक करना आसान लगता है एक चर का उपयोग कर, उदाहरण के लिए,

PS> $files = Get-ChildItem -Recurse | 
     Select-String 'SomeSearchString' | 
     %{$_.path} | 
     Select -Unique 
PS> tf edit $files 
संबंधित मुद्दे