का उपयोग करते समय लाइन ब्रेक से बचें, मैं लिख रहा हूं कि मैं एक छोटी पावरशेल स्क्रिप्ट पर थोड़ा निराश हो रहा हूं।आउट-फाइल
मूल रूप से मैं नियमित अभिव्यक्ति पैटर्न की सरणी के खिलाफ प्रत्येक पंक्ति को जांचने के लिए टेक्स्ट फ़ाइलों के माध्यम से लूप करता हूं। परिणाम आउट-फाइल cmdlet पर पाइप हो जाता है जो इसे किसी अन्य टेक्स्ट फ़ाइल में जोड़ता है।
Get-ChildItem $logdir -Recurse -Include @('*.txt') | Get-Content | ForEach-Object {
Select-String $patterns -InputObject $_ | Out-File $csvpath -Append -Width 1000 }
मेरे समस्या यह है कि मैं बाहर फ़ाइल को छोड़ करने के लिए उन अतिरिक्त लाइन यह $ csvpath पीछे फ़ाइल (तीन प्रत्येक पंक्ति के बाद) में पैदा करता है टूट जाता है नहीं मिल सकता है। मैं एक ही चीज़ को प्राप्त करने के लिए .NET फ्रेमवर्क कक्षाओं का उपयोग कर सकता हूं लेकिन मैं शुद्ध पावरशेल से चिपकना चाहता हूं ;-)
किसी भी मदद की बहुत सराहना की जाती है।
केविन
'foreach {Select-string -InputObject $ _}'? क्यों न केवल 'चयन-स्ट्रिंग' में पाइप? – Joey
हाय जोहान्स, ईमानदार होने के लिए, मुझे नहीं पता कि यह कैसे मदद कर सकता है। – bitfrickler
यह आपकी समस्या का कोई जवाब नहीं था (इसलिए आपके प्रश्न पर टिप्पणी और * कोई जवाब नहीं); सिर्फ एक नोट है कि आप अपने आदेश में अव्यवस्था को कैसे कम कर सकते हैं। – Joey