sed - How can I collate and summarize records from a file with Perl? -
मेरे पास निम्न प्रारूप में एक टेक्स्ट फाइल है:
211B1 ग्राहक | UPDATE | 211 बी 2 ग्राहक | अद्यतन | 211 बी 3 ग्राहक | अद्यतन | 211 बी 4 ग्राहक | अद्यतन | 211 बी 5 ग्राहक | अद्यतन | 567 एफआर ग्राहक | DELETE | 647 जीआई ग्राहक | DELETE | मुझे एक स्क्रिप्ट चाहिए जो पाठ फ़ाइल को संसाधित करती है और निम्न की रिपोर्ट करती है:
- एक्ट के लिए कॉलम ग्राहक के लिए "अपडेट करें": 211 बी 121,2 बी 2,211 बी 3 , 211B4,211B5
- एक्ट की: 5675 एफआर, 6470 जीआई
कॉलम ग्राहक के लिए "हटाएं" मैं सरल समाधान स्क्रिप्ट कर सकता हूं, लेकिन यह मुझे थोड़ा जटिल लगता है और सहायता या मार्गदर्शन की सराहना करेंगे।
collate.pl
#! / Usr / bin / perl सख्त का उपयोग करें; मेरी कार्रवाई; जबकि (& lt; & gt;) {मेरी ($ कुंजी, $ एफएलडी, $ कार्रवाई) = / ^ (\ w +) (। +?) \ | (। +?) \ | / या मर "$ लाइन पर विफल! "; धक्का @ {$ कार्रवाई {$ कार्रवाई} {$ fld}}, $ कुंजी; } मेरी $ क्रिया (चाबियाँ% कार्रवाई) {foreach मेरी $ fld (चाबी% {$ actions {$ action}}) {प्रिंट "\" $ कार्रवाई \ "स्तंभ के लिए $ fld के लिए मिली है:" एक्टिट के लिए पाया गया है: "। जुड़ें (",", @ {$ actions {$ action} {$ fld}}), "\ n"; }} ऐसा प्रयोग करें:
perl collate.pl & lt; Input.txt & gt; Output.txt
Comments
Post a Comment