चूंकि यूनिक्स में उन सभी अद्भुत फ़िल्टर-जैसे प्रोग्राम हैं (जैसे grep
, sed
, tr
और बहुत आगे), मानक सी में से किसी एक को लिखने का सबसे आसान तरीका क्या है?मैं सी में एक फ़िल्टर प्रोग्राम कैसे लिखूं?
फिल्टर द्वारा, मेरा मतलब है एक मानक जो मानक इनपुट पढ़ता है, डेटा के कुछ हेरफेर करता है, और फिर इसे मानक आउटपुट में लिखता है।
grep xyzzy input.file | tr '[A-Z]' '[a-z]' | sed 's/plugh/PLUGH/g'
(|
पाइप प्रतीकों में से प्रत्येक के मानक इनपुट के लिए पिछला आदेश के मानक आउटपुट जोड़ता है: यह, आदेशों की पाइपलाइनों के निर्माण प्रत्येक तरह के रूप में डेटा, के कुछ अतिरिक्त हेरफेर प्रदर्शन के साथ करने में उपयोगी है अगला, इसलिए पाइपलाइन रूपक)।
मान लें कि मुझे एक ऐसे व्यक्ति की आवश्यकता है जो सभी अपरकेस अक्षरों को लोअरकेस में परिवर्तित कर दे। और, हाँ, मुझे पता है यह विशेष समस्या यूनिक्स के साथ हल किया जा सकता है:
tr '[A-Z]' '[a-z]'
लेकिन यह है कि सिर्फ एक उदाहरण है।
मैं वास्तव में क्या हूं इस तरह के फ़िल्टर करने के लिए सबसे सरल मानक सी स्रोत कोड है।
मुझे याद आ रही: उदाहरण के लिए, आपके द्वारा लोअरकेस के रूप में एक पूरी फ़ाइल (यदि आप Windows मशीनों पर
type
उपयोग कर सकते हैं) प्राप्त कर सकते हैं? 1 अप्रैल दो दिन पहले था ... –आपके द्वारा उल्लिखित सभी टूल्स के लिए, आप आसानी से स्रोत कोड पा सकते हैं। उन्हें यह देखने के लिए क्यों नज़र डालें कि उन्हें कैसे कार्यान्वित किया जाता है? –
@ माइकल, नहीं, यह तब आया जब मैं एक और सवाल का जवाब दे रहा था, और मुझे एहसास हुआ कि इसमें कोई सवाल नहीं था। दिशानिर्देशों के अनुसार (एसओ उपयोगकर्ताओं के सभी स्तरों के लिए और अपने प्रश्नों का उत्तर देने के लिए), मैंने सोचा कि मैं इसे रखूंगा। जाहिर है, _I_ यह जानना है कि यह कैसे करना है, लेकिन मैं किसी और को जवाब देने की बजाय प्रतिलिपि नहीं दूंगा (जब तक वे उस दिन के एक जोड़े में नहीं होते हैं, तो मैं अधिकतम :-) – paxdiablo