मेरे पास अपनी खुद की एक स्क्रिप्ट है जिसमें मैं एक कमांड शामिल करना चाहता हूं जो एक सीएसवी फ़ाइल के शीर्षलेख को एक नई सीएसवी फ़ाइल में कॉपी करेगा। मुझे नहीं पता कि इस कार्य को कैसे पूरा किया जाए।

अग्रिम में धन्यवाद।

0
Archita Sundaray 13 मार्च 2020, 19:27

2 जवाब

CSV फ़ाइलों में ऐसे तत्व हो सकते हैं, जिनमें लाइनफ़ीड हों। इस मामले में, पहली तार्किक सीएसवी लाइन 2 अयस्क अधिक भौतिक रेखाओं में फैली हुई है। तो भौतिक रेखा आधारित उपकरण जैसे सिर, पूंछ, grep awk या sed का उपयोग नहीं किया जा सकता है।

2 कॉलम वाली 1 लाइन CSV लाइन के लिए उदाहरण:

"first
column","second
column"

आपको ऐसे टूल का उपयोग करना होगा जो सीएसवी विश्लेषण का समर्थन करते हैं जैसे python या php। यहां एक PHP उदाहरण है:

 php -r 'fputcsv(STDOUT,fgetcsv(STDIN));'

यह स्टड से पढ़ता है और स्टडआउट के लिए पहली लॉजिक लाइन लिखता है।

उपयोग के उदाहरण:

php -r 'fputcsv(STDOUT,fgetcsv(STDIN));' <old.csv >new.csv
any_command | php -r 'fputcsv(STDOUT,fgetcsv(STDIN));' >new.csv
0
Wiimm 16 मार्च 2020, 11:29
$ head -1 old.csv > new.csv
-1
Jack 13 मार्च 2020, 19:30
1
यह फ़ाइल की पहली पंक्ति की प्रतिलिपि बनाता है, लेकिन हमेशा CSV फ़ाइल की पहली तार्किक पंक्ति नहीं। यह विफल हो जाता है, अगर किसी तत्व में लाइनफीड है।
 – 
Wiimm
13 मार्च 2020, 20:20
यदि किसी तत्व में लाइनफ़ीड है, तो आपको बड़ी समस्याएँ हैं।
 – 
Jack
14 मार्च 2020, 18:05
क्यों? मैं बिना किसी समस्या के लाइन फीड वाले तत्वों के साथ सीएसवी फाइलों को संसाधित करता हूं।
 – 
Wiimm
14 मार्च 2020, 19:39