में मैं इस Powershell बयान देखा हाल ही में एक Hanselminutes post -
cat test.txt | foreach-object {$null = $_ -match '<FancyPants>(?<x>.*)<.FancyPants>'; $matches.x} | sort | get-unique
मैं इस समय Powershell जानने की कोशिश कर रहा हूँ और मुझे लगता है कि मैं क्या चल रहा है के सबसे को समझने -
- बयान 'test.txt' की प्रत्येक पंक्ति के माध्यम से लूप और वर्तमान पंक्ति के खिलाफ एक regex चलाता
- सभी परिणाम collated रहे हैं और फिर अनुसार क्रमबद्ध और डुप्लिकेट हटाया
मेरे समझ बयान के इस हिस्से पर नीचे गिर रहा है -
$null = $_ -match '<FancyPants>(?<x>.*)<.FancyPants>'; $matches.x
- '
$null =
' कोड का हिस्सा क्या कर रहा है, मुझे लगता है यह जब कोई मुकाबला एक परिदृश्य को संभालने के लिए है वापस आ गया है लेकिन मुझे यकीन नहीं है कि यह कैसे काम करता है? - क्या
$matches.x
'मिले मैचों को वापस कर रहा है?
तो '$ match.x' में वर्तमान ऑब्जेक्ट के लिए मैचों शामिल हैं, क्या पीएस स्वचालित रूप से सभी '$ मैचों' परिणाम सेट को एक बड़े परिणाम सेट में जोड़ता है? – ipr101
@ ipr101 नहीं, यह केवल अंतिम मैच रखता है। मैंने अपना उत्तर एक उदाहरण के साथ अपडेट किया है जिसका उपयोग आप '$ Matches' चर में क्या है यह देखने के लिए कर सकते हैं। – Rynant
धन्यवाद जो अब और अधिक समझ में आता है – ipr101