इंटरएक्टिव कंसोल आधारित CSV संपादक


12

हालाँकि, कंसोल पर CSV फ़ाइलों को संपादित करने के लिए स्प्रेडशीट एप्लिकेशन व्यक्तिगत कंप्यूटरों के लिए सबसे शुरुआती हत्यारा अनुप्रयोगों में से एक होते थे, उनमें से केवल कुछ और यहां तक ​​कि उनके बारे में कम प्रलेखन अभी भी सक्रिय रूप से बनाए रखा गया है।

वेब, मैनपेज और सोर्स कोड पर व्यापक खोज करने के बाद, मैंने निम्नलिखित तीन अनुप्रयोगों के साथ समाप्त किया, जिनमें सभी मूलभूत कमियां हैं:

  • sc: abbrev। स्प्रेडशीट कैलकुलेटर के लिए; vi कीबाइंडिंग के साथ अच्छा टूल, लेकिन यह सीमांकक युक्त स्ट्रिंग्स को उद्धरण में नहीं डालता है जब सीमांकित अलग प्रारूप में निर्यात करता है और सीएसवी फ़ाइलों को सही ढंग से आयात नहीं कर सकता है, अर्थात सभी संख्याओं को स्ट्रिंग्स के रूप में व्याख्या किया जाता है।
  • ग्नू ओलेओ: 2001 के बाद से सक्रिय रूप से किसी भी लंबे समय तक बनाए रखने के लिए प्रतीत नहीं होता है और इसलिए प्रमुख लिनक्स वितरण के लिए कोई पैकेज नहीं हैं
  • चायदानी: विभिन्न ऑपरेटिंग सिस्टम के लिए पैकेज प्रदान करता है, लेकिन उदाहरण के लिए कोशिकाओं के लिए काउंटर-सहज नामकरण का उपयोग करता है (पंक्ति और स्तंभ के लिए संख्या, यानी 11 को पंक्ति 1, स्तंभ 1) और FLTK GUI के लिए शानदार कोड होना चाहिए।

विभिन्न एमएसीएस मोड भी स्ट्रिंग को सीमांकक युक्त अच्छी तरह से उद्धृत नहीं करते हैं या किसी तालिका के पाड़ में प्रवेश करने के लिए बहुत अधिक टाइपिंग की आवश्यकता होती है।

इसलिए मैं इन कमियों में से किसी एक पर काबू पाने या किसी अन्य कंसोल पर आधारित सीएसवी संपादक के लिए किसी भी संकेत के लिए बहुत आभारी रहूंगा। यह वास्तव में सिर्फ कोशिकाओं या स्तंभों और पंक्तियों को संपादित करने के लिए किसी गणना की आवश्यकता नहीं है।


जवाबों:


11

एक CSV संपादक से आम तौर पर संख्याओं को पहचानने की अपेक्षा की जाती है, केवल जरूरत पड़ने पर तार को उद्धृत किया जाता है, उद्धृत स्ट्रिंग के भीतर सीमांकक की अनुमति दें, और खाली कोशिकाओं को न ढोएं। तो, यह स्क्रीन पर

1                      2          3
col-one                           col,three
                       col two
This is a long string. 1.23456789 3.14

फ़ाइल में इसे सहसंबंधित होना चाहिए

1,2,3
col-one,,"col,three"
,"col two",
"This is a long string.",1.23456789,3.14

कई सालों से ओलेओ का रखरखाव नहीं किया गया है। मैंने हाल ही में डेबियन सिस्टम पर एक पुराना पैकेज स्थापित किया और पाया कि यह अजीब और बहुत छोटी है। ऑपरेशन कीस्ट्रोक्स की सामान्य संख्या से अधिक लेते हैं। सभी तार उद्धृत किए जाने चाहिए और आपको इसे मैन्युअल रूप से करना होगा। CSV आयात फ़िल्टर स्ट्रिंग्स के भीतर अल्पविरामों को संभाल नहीं सकता है। लंबे समय तक सटीक संख्या उनके मूल रूप में नहीं रखी जाती है (जैसे 1.23456789 1.234567889999999)। प्रक्रिया कभी-कभी भगोड़ा हो जाती है ताकि उसे कमांड लाइन से नहीं मारा जा सके।

ऐसा लगता है कि MacroCALC, Teapot, और SC एकमात्र CLI स्प्रेडशीट हैं जो अभी भी मुख्य हैं।

MacroCALC CSV फ़ाइलों को साफ़ तौर पर आयात या निर्यात नहीं कर सकता है।

चायदानी थोड़ा असामान्य है, लेकिन इसका उपयोग करना बहुत आसान है और मैनुअल एक त्वरित रीड है। CSV का आयात / निर्यात सरल है। इसकी दो प्रमुख विचित्रताएँ हैं। सबसे पहले, जबकि यह स्ट्रिंग्स के स्वचालित उद्धरण करता है, यह हमेशा सभी स्ट्रिंग्स को उद्धृत करता है। दूसरा, यह डिफ़ॉल्ट सटीकता के लिए सभी दशमलव संख्याओं को काट / विस्तारित करेगा। FLTK इंटरफ़ेस चालू है, लेकिन यह छोटी गाड़ी है।

SC तेज और स्थिर है। यह vi के समान संचालित होता है और शुरुआत के अनुकूल होता है। बाहरी कार्यक्रमों को SC प्रारूप और CSV के बीच परिवर्तित करना आवश्यक है। pscउपकरण (सीएसवी -> अनुसूचित जाति केवल) अनुसूचित जाति के साथ स्थापित किया गया है और काम करता है तो चाहते:

cat file.csv | psc -k -d, | sc

संपादन के बाद, फ़ाइल को पुट कमांड के साथ सहेजें , फिर ssconvertउपयोगिता का उपयोग करें (SC -> CSV केवल) जो Gnumeric के साथ आता है:

ssconvert file.sc file.csv

मैंने कई तरह की चीजों को राउंड-ट्रिपिंग करने की कोशिश की psc- ssconvertऔर प्रक्रिया स्थिर दिखाई देती है। संख्या और तारों को सही ढंग से संभाला जाता है।

CSV फ़ाइलों को संपादित करने के लिए एक वैकल्पिक विधि एक उपयुक्त प्लगइन के साथ एक पाठ संपादक का उपयोग करना होगा। दोनों Emacs और Vim उनके पास हैं, हालांकि Vim संस्करण तेज है और इसमें अधिक विशेषताएं हैं। ये हाइलाइटिंग, कॉलम संरेखण और ब्लॉक ऑपरेशन की पेशकश करते हैं। मैंने दोनों को बहुत धीमा और छोटा पाया।


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.