2015-03-06 13 views
12

में सीएसवी फ़ाइल की केवल पहली 10 पंक्तियां निकालें मेरे पास सीएसवी फ़ाइल है और एक नई सीएसवी फ़ाइल आउटपुट करना चाहते हैं, जिसमें केवल पहली 10 पंक्तियां मूल हैं। मैंने अभी तक केवल एक पंक्ति या रेखाओं को हटाने के लिए कोड पाया है जिसमें एक निश्चित शब्द है। यह शायद 15 वर्ण एक-लाइनर है, लेकिन मुझे यकीन नहीं है कि इस तक कैसे पहुंचे, किसी भी मदद की सराहना की जाएगी। मैं आपको कोड लिखने की उम्मीद नहीं करता, सिर्फ सही आदेश मुझे मदद करेगा।पावरहेल

उत्तर

23
Get-Content "C:\start.csv" | select -First 10 | Out-File "C:\stop.csv" 

कि यह

+1

यह भी एक उत्तर है, लेकिन इस बात पर निर्भर करता है कि '-Head 10' का उपयोग कर फ़ाइल कितनी बड़ी है, यह अधिक कुशल होगी क्योंकि इसे पूरी फ़ाइल को पढ़ने की आवश्यकता नहीं है। – Matt

+1

यह सुनिश्चित नहीं है कि आप किस संस्करण का उपयोग कर रहे हैं, लेकिन संस्करण 2.0 के रूप में, मुझे एक संदेश मिलता है जो _Get-content कहता है: एक पैरामीटर नहीं पाया जा सकता है जो पैरामीटर नाम 'हेड' से मेल खाता है ._ – GlennFromIowa

+0

शक्तियों के लिए 2 emekm के उत्तर और उपयोग के साथ जाएं "गेट-कंटेंट" cmdlet पर "-TotalCount" पैरामीटर। –

5

किया -TotalCount पैरामीटर का उपयोग की सिफारिश की है। विशेष रूप से, यदि आपके पास एक बड़ी सीएसवी फ़ाइल है। इस तरह, आप केवल अपनी लाइनों को पढ़ने, पहले 10 लाइनों का चयन करने और उन्हें निकालने के बजाय अपनी सीएसवी फ़ाइल की पहली 10 पंक्तियां पढ़ लेंगे।

Get-Content C:\Temp\Test.csv -TotalCount 3 | Out-File C:\Temp\Test10lines.csv 

यह पावरहेल 2 के बाद में काम करता है।

+0

लिनक्स समकक्ष क्या होगा? – Marine1

0

तुम भी उपयोग करें

(Get-Content yourfile.csv)[0 .. 11]>outputfile.csv 

शीर्ष लेख पंक्ति शामिल करना न भूलें सकते हैं या आप समस्या में पड़ सकते। आप जो भी पंक्तियां चाहते हैं उसे पाने के लिए आप संख्याओं को भी बदल सकते हैं। पहला और सिर झंडे मेरे लिए काम नहीं करते थे।