एड, 35 अक्षर
s/[a-zA-Z]*\([a-zA-Z]\)\|./\1/g
p
Q
तो, दुनिया एड में समाप्त होती है। जैसा कि मुझे बहुत शाब्दिक होना पसंद है, मैंने एड के साथ समाधान लिखने के लिए लिखने का फैसला किया - और जाहिर है कि यह वास्तव में एक प्रोग्रामिंग भाषा है । यह आश्चर्यजनक रूप से छोटा है, यहां तक कि कई छोटे समाधानों पर विचार करना इस धागे में पहले से मौजूद है। यह अच्छा होगा यदि मैं इसके अलावा कुछ और उपयोग कर सकता हूं [a-zA-Z]
, लेकिन एड को एक प्रोग्रामिंग भाषा नहीं माना जाता है, यह वास्तव में काफी अच्छा है।
पहले, मैं यह कहना चाहूंगा कि केवल फ़ाइल में अंतिम पंक्ति पार्स होती है। यह संभव है कि अधिक पार्स करें, बस टाइप करें,
दो पहली लाइनों की शुरुआत में करें (यह निर्दिष्ट "सब कुछ" रेंज, जैसा कि मानक अंतिम लाइन रेंज के विपरीत है), लेकिन इससे कोड आकार 37 अक्षरों तक बढ़ जाएगा।
अब स्पष्टीकरण के लिए। पहली पंक्ति बिल्कुल वही करती है जो पर्ल समाधान करता है (यूनिकोड वर्णों के समर्थन के बिना)। मैंने पर्ल समाधान की नकल नहीं की है, मैंने संयोग से कुछ ऐसा ही आविष्कार किया है।
दूसरी पंक्ति अंतिम पंक्ति प्रिंट करती है, जिससे आप आउटपुट देख सकते हैं। तीसरी पंक्ति के बलों ने छोड़ दिया - मुझे यह करना होगा, अन्यथा ed
प्रिंट होगा?
आपको याद दिलाने के लिए कि आपने फ़ाइल को सहेजा नहीं है।
अब इसे कैसे निष्पादित किया जाए। खैर, यह बहुत आसान है। ed
मेरे केस को पाइप करते हुए, टेस्ट केस वाले फाइल के साथ ही दौड़ें ।
ed -s testcase < program
-s
चुप है। यह ed
शुरुआत में बदसूरत फ़ाइल आकार के आउटपुट से रोकता है। आखिरकार, मैं इसे एक स्क्रिप्ट के रूप में उपयोग करता हूं, संपादक नहीं, इसलिए मुझे मेटाडेटा की आवश्यकता नहीं है। अगर मैं ऐसा नहीं करता, तो एड फ़ाइल का आकार दिखाएगा जिसे मैं अन्यथा नहीं रोक सकता।