मेरे पास कुछ लेनदेन डेटा के साथ एक CSV फ़ाइल है। मान लें कि दिनांक, मात्रा, मूल्य और दिशा (बेचना / खरीदना) है। इसके अतिरिक्त प्रत्येक लेनदेन के लिए एक आईडी है और प्रत्येक समापन लेनदेन पर (नया एक) संबंधित लेनदेन का एक संदर्भ है। शास्त्रीय डेटाबेस संदर्भित।
अब मैं कुछ आंकड़े करना चाहता हूं और कुछ भूखंडों को आकर्षित करना चाहता हूं। यह ऑक्टेव, LaTeX / TikZ, Gnuplot या जो भी हो के माध्यम से किया जा सकता है। ऐसा करने के लिए मुझे एक पंक्ति में मूल्य खरीदने और बेचने दोनों की आवश्यकता है। मेरा विचार एक और सीएसवी प्राप्त करने के लिए आवश्यक जानकारी और फिर आँकड़ों को करने के लिए सीएसवी को तैयार करना था। अंत में मैं स्क्रिप्ट के आधार पर समाधान चाहता हूं न कि स्प्रेडशीट पर। क्योंकि डेटा अक्सर बदल सकता है (ऑनलाइन डीबी से निर्यात)।
मेरा वास्तविक समाधान (देखें http://paste.ubuntu.com/6262822/ ) एक बैश स्क्रिप्ट है जो CSV लाइन को लाइन से पार्स करता है और यदि कोई संबंधित लेन-देन मौजूद है तो जाँच करता है। यदि पाया जाता है, तो एक नई पंक्ति गंतव्य CSV को लिखी जाती है। अगर चेतावनी नहीं छपी है।
बुरी खबर: स्रोत फ़ाइल में प्रत्येक पंक्ति के लिए मुझे पूरी फ़ाइल को कुछ बार पढ़ना होगा। यह 300 लाइनों के लिए लंबे समय तक चलने वाले 10sec का कारण बनता है। जैसे ही लाइन की संख्या जल्द बढ़ सकती है (> 10k लाइनें), यह सही नहीं है। मुझे पता है, कि स्क्रिप्ट में कई गोले खोले जाने हैं, जो प्रदर्शन की समस्याओं का कारण हो सकते हैं।
अब मेरे सवाल:
- बैश / अच / / सेड है .... चीजों को करने का एक अच्छा तरीका है?
- क्या मुझे पहली बार SQL का उपयोग करने के लिए "वास्तविक" स्थानीय डेटाबेस में सभी डेटा आयात करना चाहिए?
- क्या वांछित परिणाम प्राप्त करने का एक आसान तरीका है?