Perl, Python, AWK और sed में क्या अंतर हैं? [बन्द है]


253

बस जानना चाहते हैं कि उनके बीच मुख्य अंतर क्या हैं? और प्रत्येक भाषा की शक्ति (जहां इसका उपयोग करना बेहतर है)।

संपादित करें: यह "बनाम" नहीं है विषय की तरह, बस जानकारी।


142
इस प्रकार के तथाकथित गैर-रचनात्मक प्रश्न वास्तव में सहायक हैं।
स्टीम

10
ज़रूर, सामने वाले पेज पर एक टैब उन्हें खोजने के लिए आसान होगा ...

कमांड लाइन पर अजगर की उपयोगिता के लिए, पीप देखें
नील

जवाबों:


550

उपस्थिति के क्रम में, भाषाएं हैं sed, awk, perl, python

sedकार्यक्रम एक धारा संपादक है और इनपुट फ़ाइल या फ़ाइलों का (लाइनों की निर्दिष्ट श्रेणियों के लिए, या अधिक आम तौर) प्रत्येक पंक्ति के लिए एक स्क्रिप्ट से कार्रवाई लागू करने के लिए बनाया गया है। इसकी भाषा edयूनिक्स संपादक पर आधारित है , और यद्यपि इसमें सशर्त और इतने पर हैं, जटिल कार्यों के लिए काम करना मुश्किल है। आप इसके साथ मामूली चमत्कार काम कर सकते हैं - लेकिन अपने सिर पर बालों की कीमत पर। हालाँकि, यह संभवतः कार्यक्रमों का सबसे तेज़ है जब इसके रीमिट में कार्यों का प्रयास किया जाता है। (इसमें चर्चा किए गए कार्यक्रमों की कम से कम शक्तिशाली नियमित अभिव्यक्तियाँ हैं - कई उद्देश्यों के लिए पर्याप्त, लेकिन निश्चित रूप से पीसीआर नहीं - पर्ल-कम्पेटिबल एक्सप्रेस इंजन)

awkकार्यक्रम (इसके लेखक के नाम के पहले अक्षर से नाम - Aho, वेंबेर्गेर, और Kernighan) की रिपोर्ट फ़ॉर्मेट करने के लिए एक उपकरण के शुरू में है। इसका उपयोग सूप-अप के रूप में किया जा सकता है sed; इसके अधिक हाल के संस्करणों में, यह कम्प्यूटेशनल रूप से पूर्ण है। यह एक दिलचस्प विचार का उपयोग करता है - कार्यक्रम 'पैटर्न से मेल खाते' और 'पैटर्न से मेल खाते होने पर की गई कार्रवाई' पर आधारित है। पैटर्न काफी शक्तिशाली (एक्सटेंडेड रेगुलर एक्सप्रेशन) हैं। कार्यों के लिए भाषा सी के समान है। इसकी एक प्रमुख विशेषता awkयह है कि यह इनपुट को रिकॉर्ड में और प्रत्येक रिकॉर्ड को फ़ील्ड में विभाजित करता है।

पर्ल को एक अजीब-हत्यारे और सेड-किलर के रूप में लिखा गया था। यह कर रहे हैं के साथ प्रदान की कार्यक्रमों की दो a2pऔर s2pपरिवर्तित करने के लिए awkस्क्रिप्ट और sedपर्ल में स्क्रिप्ट। पर्ल स्क्रिप्टिंग भाषाओं की अगली पीढ़ी में से एक है (Tcl / Tk शायद प्रधानता का दावा कर सकती है)। इसमें एक बहुत अधिक शक्तिशाली भाषा के साथ शक्तिशाली एकीकृत नियमित अभिव्यक्ति हैंडलिंग है। यह लगभग सभी सिस्टम कॉल तक पहुंच प्रदान करता है और इसमें CPAN मॉड्यूल की व्यापकता है। (न तो awkन तो sedएक्स्टेंसिबल है।) पर्ल का एक मोट्टोस "TMTOWTDI है - इसे करने का एक से अधिक तरीका है" (उच्चारण "टिम-टूडी")। पर्ल के पास 'ऑब्जेक्ट' हैं, लेकिन यह भाषा के मूल भाग की तुलना में अधिक ऐड-ऑन है।

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

ठीक है - प्रत्येक का उपयोग कब करें?

  • एसड - जब आपको फ़ाइलों पर सरल पाठ ट्रांसफ़ॉर्म करने की आवश्यकता होती है।
  • Awk - जब आपको केवल सरल स्वरूपण और सारांश या डेटा के रूपांतरण की आवश्यकता होती है।
  • पर्ल - लगभग किसी भी कार्य के लिए, लेकिन विशेष रूप से जब कार्य को जटिल नियमित अभिव्यक्तियों की आवश्यकता होती है।
  • अजगर - उन्हीं कार्यों के लिए जिन्हें आप पर्ल के लिए उपयोग कर सकते थे।

मुझे कुछ भी पता नहीं है कि पर्ल ऐसा कर सकता है, न ही पायथन कर सकता है, न ही इसके विपरीत। दोनों के बीच का चुनाव अन्य कारकों पर निर्भर करेगा। मैंने पायल को सीखने से पहले पायथन को सीखा था, इसलिए मैं इसका इस्तेमाल करता हूं। पायथन में कम संकेंद्रित सिंटैक्स होता है और आमतौर पर सीखने के लिए कुछ सरल होता है। पर्ल 6, जब यह उपलब्ध हो जाता है, तो एक आकर्षक विकास होगा।

(ध्यान दें कि विशेष रूप से, पर्ल और पायथन के 'ओवरव्यू' बहुत ही अधूरे हैं; पूरी किताबें विषय पर लिखी जा सकती हैं।)


82
A ++++ पोस्ट, फिर से पढ़ेंगे!
रॉबर्ट गैंबल

24
भयानक विशेष रूप से "जब प्रत्येक का उपयोग करने के लिए" भाग
खालिद अल घंटेानी

6
ध्यान दें कि अजगर का ज़ेन मूल रूप से TMTOWTDI का विरोधी है, इसलिए मैं कहूंगा कि यह पर्ल की प्रतिक्रिया हो सकती है। iirc TCL perl के बाद थोड़ी थी और perl के खिलाफ काफी प्रतिक्रियात्मक भी है, हालांकि TCL प्रतिक्रिया वाक्य रचना और भाषा की जटिलता में है, चीजों को करने के तरीके नहीं
jk।

7
जो भी मूल इरादे हैं, यह स्पष्ट है कि बाद में पायथन विकास और अजगर समुदाय ने पर्ल के अधिक लचीले लेकिन ट्रिक सिंटैक्स पर पठनीयता और स्थिरता को प्राथमिकता दी है। बहुत बढ़िया पोस्ट जोनाथन
मार्टिन बेकेट

4
@blasto: ईटीएल के लिए, मैं को प्राथमिकता होगी awkअधिक sedसीखने के लिए (हालांकि दोनों अभी भी उनके उपयोग है)। कार्य के आकार के रूप में: sedयह उस समय सबसे अच्छा होता है जब यह एक समय में एक लाइन को संसाधित करता है, जिसमें लाइन से लाइन तक कोई भंडारण नहीं होता है। awkअक्सर सभी स्रोतों से संचित डेटा के साथ साहचर्य सरणियों के निर्माण के लिए उपयोग किया जाता है; यह अधिक मेमोरी का उपयोग करता है, और इसलिए बड़े डेटा सेट के साथ समस्याओं में चलने की अधिक संभावना sedहै। tsawkइससे पहले कि आप इससे जुड़े, मैंने नहीं सुना । जब कोई कार्य बहुत अधिक होता है, तो मैं पर्ल पर वापस गिर जाता हूं (लेकिन आप पायथन के साथ बेहतर कर सकते हैं) awk
जोनाथन लेफ्लर

91

कुछ दर्जन भाषाओं में महारत हासिल करने के बाद, आप एस। लोट जैसे लोगों से थक जाते हैं (इस सवाल का विवादास्पद जवाब देखें, लगभग आधे वोट जितने हैं) (जवाब देने के छह साल बाद (45 / -22)।

एसड बेहद सरल कमांड-लाइन पाइपलाइनों के लिए सबसे अच्छा उपकरण है। एक सिड मास्टर के हाथों में, यह मनमानी जटिलता के एक-बंद के लिए उपयुक्त है, लेकिन इसका उपयोग उत्पादन कोड में बहुत सरल प्रतिस्थापन पाइपलाइनों को छोड़कर नहीं किया जाना चाहिए। सामान जैसे 's / this / that /'।

Gawk (GNU awk) अभी तक जटिल डेटा रिफॉर्मैटिंग के लिए सबसे अच्छा विकल्प है, जब केवल एक इनपुट स्रोत और एक आउटपुट (या, कई आउटपुट क्रमिक रूप से लिखे गए) हो। चूंकि वास्तविक दुनिया के काम का एक बड़ा हिस्सा इस विवरण के अनुरूप है, और एक अच्छा प्रोग्रामर दो घंटे में गॉक सीख सकता है, यह सबसे अच्छा विकल्प है। इस ग्रह पर, सरल और तेज बेहतर है!

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


9
100% सहमत हुए। सबसे अधिक जानना, यदि सभी उपकरण नहीं हैं और प्रत्येक का उपयोग कब करना है तो एक अच्छे तकनीशियन को एक औसत दर्जे से अलग करता है।
अता

6
मैं जोड़ता हूँ कि जागरण के बजाय पायथन या पर्ल को चुनने का एक और कारण यह है कि जब आपकी परिवर्तन आवश्यकताओं में जटिल सत्यापन या तर्क शामिल होते हैं जिसके लिए किसी अन्य भाषा में एक मौजूदा, मजबूत मॉड्यूल होता है। इस बारे में सोचें कि जागने में ईमेल या सड़क के पते को ठीक से संभालने के लिए क्या होगा और आप देखेंगे कि मेरा क्या मतलब है: पर्ल और अजगर में पुस्तकालय हैं जो इस तुच्छ जैसी चीजों को बनाते हैं, awk में ये असामान्य या अनुपलब्ध हैं।
sorpigal

3
दरअसल पर्ल को सेड और ऑक दोनों को घेरने के लिए डिज़ाइन किया गया था; मुझे सिड या अवाक सीखने के बजाय सिर्फ पर्ल में लिखना आसान लगता है।
ब्रैड गिल्बर्ट

@BradGilbert: जैसा कि मैंने अभी शीर्ष उत्तर में उल्लेख किया है, awk के ऊपर पर्ल (और पायथन, रूबी, आदि) का एक प्रश्न है कि किसी प्रकार का regexp पूर्व में reaaaaaaaaaally
ओलिवियर दुलक

1
@OlivierDulac हाँ जो एक रोग संबंधी मामला दिखाता है। यदि आप इससे बदलते हैं a?ⁿaⁿ, a??ⁿaⁿतो 1,000,000 से एक के साथ पर्ल 5 में चलाने के लिए यह दो सेकंड से भी कम समय में चलता है। time perl -E '$x=1_000_000;$_="a"x$x;$m=("a??"x$x).("a"x$x);say $_=~$m'यदि आप भोले को चलाते हैं, तो इसे 25 सेकंड के लिए दो सेकंड से अधिक समय लगता है । आपको जिस चीज़ का एहसास होना है, वह है पर्ल के पास रीजेक्स की अधिक विशेषताएँ हैं, जिसमें आपको रेगेक्स के अंदर पर्ल कोड की अनुमति देना शामिल है, जो मेल खाता है । यदि आप चाहते हैं तो आप उन मॉड्यूलों में से किसी एक के लिए एक स्वैप लागू कर सकते हैं।
ब्रैड गिल्बर्ट

21

मैं सीड को पूरी तरह से प्रोग्रामिंग की गई भाषा नहीं कहूंगा, यह एक स्ट्रीम एडिटर है, जिसका उद्देश्य प्रोग्राम्स को टेक्स्ट फाइल को प्रोग्रामेटिक रूप से एडिट करना है।

अक्क सामान्य प्रयोजन की भाषा का थोड़ा अधिक है, लेकिन यह अभी भी पाठ प्रसंस्करण के लिए सबसे उपयुक्त है।

पर्ल और पायथन पूरी तरह से विकसित हैं, सामान्य प्रयोजन प्रोग्रामिंग भाषा। टेक्स्ट प्रोसेसिंग में पर्ल की जड़ें हैं और इसमें कई awk-like constructs हैं (नेट पर इधर-उधर घूमने वाली एक awk-to-perl स्क्रिप्ट भी है)। पर्ल और पाइथन के बीच कई अंतर हैं, आपका सबसे अच्छा शर्त शायद विकिपीडिया जैसी दोनों भाषाओं के सारांश को पढ़ना है कि वे क्या हैं, इस पर एक अच्छी समझ प्राप्त करें।


2
मैंने सोकोबन का एक सेड इम्प्लीमेंटेशन देखा है, जो ट्यूरिंग कंप्लीटनेस को इम्प्रेस करेगा। हालाँकि, इसे sendmail.cf और TeX के बारे में भी कहा जा सकता है।
कंसर्नडऑफटुनब्रिजवल्स

7
मैंने एक बार एक लड़के के साथ काम किया था जिसने एक लेज़र प्रिंटर को राउटर में बदलने के लिए पोस्टस्क्रिप्ट लिखा था।
सैम किंग्सटन

10
@ सम: वाह! मुझे नहीं पता था कि एक प्रिंटर का लेजर लकड़ी को काटने के लिए पर्याप्त क्रैंक किया जा सकता है! ओह, सॉरी, गलत तरह का राउटर।
अगली सूचना तक रोक दिया गया।

2
sed, एक पूर्ण भाषा नहीं है? ठीक है, यह पूरी तरह से सच नहीं है, जैसा कि sed पूरा हो रहा है ;)
bernard paulus 23

1
मैंने जाग में आगे की भाषा का कार्यान्वयन देखा है। (चूँकि awk को अपने आप से एक पार्सर के रूप में माना जा सकता है, यह इसमें दुभाषिया लागू करने के लिए सीधा है)।
ततजाना हूसर

19

सबसे पहले, "पर्ल, पायथन ऑक एंड सेड" सूची में दो असंबंधित चीजें हैं।

बात 1 - सरलीकृत पाठ हेरफेर उपकरण।

  • sed। इसमें फ़ाइल की प्रत्येक पंक्ति को पढ़ने और जांचने के विचार से परिभाषित कार्य का एक निश्चित, अपेक्षाकृत सरल क्षेत्र है। सीड को विशेष रूप से पठनीय नहीं बनाया गया है। यह बहुत छोटे यूनिक्स सर्वरों पर बहुत छोटा और बहुत कुशल होने के लिए डिज़ाइन किया गया है।

  • awk। इसमें थोड़ा कम निश्चित, कम सरल कार्य है। हालाँकि, किसी awk प्रोग्राम का मुख्य लूप स्रोत फ़ाइल की पंक्तियों के अंतर्निहित रीडिंग द्वारा परिभाषित किया गया है।

ये "पूर्ण" प्रोग्रामिंग भाषा नहीं हैं। जब आप कर सकते हैं - कुछ काम के साथ - जाग में काफी परिष्कृत कार्यक्रम लिखें, यह तेजी से जटिल और पढ़ने में मुश्किल हो जाता है।

बात 2 - सामान्य-प्रयोजन प्रोग्रामिंग भाषाओं। इनमें कई प्रकार के स्टेटमेंट प्रकार, कई अंतर्निहित डेटा संरचनाएं, और बोलने के लिए कोई वायर्ड-इन अनुमान या शॉर्टकट नहीं हैं।

  • पर्ल।

  • अजगर।

उनका उपयोग कब करना है।

  • sed। कभी नहीँ। यह वास्तव में 32K से अधिक मेमोरी वाले कंप्यूटर के आधुनिक युग में कोई मूल्य नहीं है। पर्ल या पायथन वही काम अधिक स्पष्ट रूप से करते हैं।

  • awk। कभी नहीँ। सिड की तरह, यह कंप्यूटिंग के एक पुराने युग को दर्शाता है। इस भाषा को बनाए रखने के बजाय (एक सफल प्रणाली के लिए आवश्यक अन्य सभी के अलावा), यह सिर्फ एक सुखद भाषा में सब कुछ करने के लिए अधिक सुखद है।

  • पर्ल। किसी भी तरह की कोई भी प्रोग्रामिंग समस्या। यदि आप फ्री-थिंकिंग सिंटैक्स पसंद करते हैं, जहां एक ही काम करने के कई, कई तरीके हैं, तो मज़ा मजेदार है।

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

पृष्ठभूमि - मैं सीड को कोस नहीं रहा हूं और अज्ञानता से बाहर जाग रहा हूं। मैंने 20 साल पहले जागना सीखा था। इसके साथ कई चीजें कीं; इसे एक मुख्य यूनिक्स कौशल के रूप में पढ़ाया जाता है। मैंने लगभग 15 साल पहले पर्ल सीखा था। इसके साथ कई परिष्कृत चीजें कीं। मैंने दोनों को पीछे छोड़ दिया है क्योंकि मैं पायथन में एक ही काम कर सकता हूं - और यह सरल और अधिक स्पष्ट है।

Sed और awk के साथ दो गंभीर समस्याएं हैं, जिनमें से कोई भी उनकी उम्र नहीं है।

  1. उनके कार्यान्वयन की अपूर्णता। सब कुछ sed और awk do पायथन या पर्ल में किया जा सकता है, अक्सर अधिक सरल और कभी-कभी तेज भी। एक शेल पाइपलाइन की बहु-प्रसंस्करण के कारण कुछ प्रदर्शन लाभ हैं। पायथन subprocessमुझे उन लाभों को पुनर्प्राप्त करने की अनुमति देने के लिए एक मॉड्यूल प्रदान करता है ।

  2. एक और भाषा सीखने की जरूरत है। पायथन (या पर्ल) में चीजें करने से आपका कार्यान्वयन कम भाषाओं पर निर्भर करता है, जिसके परिणामस्वरूप स्पष्टता में वृद्धि होती है।


66
कुछ बहुत अजीब तर्क के खिलाफ awk / sed। समायोज्य रिंच ने उसी कारण सेड और ऑक स्टिल शिप के लिए खुले स्पैनर को दबाया नहीं है। कभी-कभी सरल उपकरण काम के लिए सबसे अच्छा होता है। मैं बहुत कुछ लिखता हूं, लेकिन पाइप्ड कमांड की एक सरल श्रृंखला के लिए, awk / sed, perl -e की तुलना में तेज है
RET

27
आप कुछ भी नहीं की उपलब्धता मान सकते हैं, लेकिन अधिकांश गैर-लाइनक्स यूनिक्स सिस्टमों पर श, सेड और अवेक। यदि आप किसी आउट-ऑफ-द-बॉक्स सोलारिस, एचपी / यूएक्स या एआईएक्स इंस्टॉल पर काम करना चाहते हैं, तो आप sed और awk के साथ फंस गए हैं।
ConcernedOfTunbridgeWells

27
मेरी शेल स्क्रिप्ट का आधा या तो sed या awk उपयोग करता है। वे मृत से बहुत दूर हैं। पायथन मेरी पसंदीदा स्क्रिप्टिंग भाषा है, लेकिन कभी-कभी sed और awk नौकरी के लिए सबसे अच्छा साधन हैं। सिर्फ इसलिए कि वे कई वर्षों से उपयोग में हैं, इसका मतलब यह नहीं है कि वे अप्रचलित हैं।
जेरेमी कैंटरेल

16
@ एस.लॉट: मैं यह सुझाव नहीं दे रहा हूं कि किसी को भी जागने में वेब-ऐप बनाने का प्रयास करना चाहिए, लेकिन यह कहना कि उन्हें कभी भी इस्तेमाल नहीं किया जाना चाहिए, यह अपमानजनक है। एक सरल एस एंड आर और / या ट्वीक के लिए (विशेष रूप से एक सीमांकित पाठ फ़ाइल के लिए), पर्ल-ई या पायथन-सी कभी भी एक सेड / ओके वन-लाइनर के रूप में कुशल नहीं होने वाला है।
RET

25
मुझे इस तरह के जवाब पसंद नहीं हैं। सैड और जाग कुछ घंटों में समझने में आसान होते हैं और बहुत अधिक हल्के और व्यापक रूप से पूर्ण विकसित भाषा की तुलना में उपलब्ध होते हैं। शेल प्रोग्रामिंग हमेशा की तरह प्रासंगिक है, यह कहते हुए कि "कभी नहीं" इस उपकरण का उपयोग केवल मंद है। लेकिन, क्या यह मंद विचार उस नींव में से एक नहीं था जिस पर पर्ल उभरा था? ओह अच्छा--
ata

14

उनका उपयोग कब करें: awk - कभी नहीं - एस लोट।

मुझे लगता है कि एस। लोट्टो इस सिफारिश के साथ निशान से थोड़ा चूक गया। तथ्य यह है कि लिनक्स पर और अन्य UNIX वातावरण में, awk एक उपयोगी उपकरण है जिसका उपयोग तेज पाठ प्रक्रिया के लिए bash, sh और ksh के साथ किया जाता है। स्वयं स्क्रिप्टिंग का विचार है कि आप इस टूल, उस टूल को एक साथ जोड़कर अपनी समस्या का समाधान करें। इसलिए व्यवस्थापक लिपियों में, ls, grep।,, Awk, time, ps, आदि होना आम बात है। प्रत्येक उपकरण एक ऐसा उपकरण है जो भवन को खत्म करने के लिए ईंट को एक ईंट की तरह मिलाता है (इमारत को हाथ से हल करने के लिए) ।

उदाहरण के लिए, मैं पेंटबॉल गियर आपूर्ति का प्रबंधन करने वाली टीम का सदस्य हूंडॉटकॉम। यह ई-कॉमर्स साइट LAMP स्टैक पर आधारित है। बैक एंड डेटाबेस में विभिन्न आपूर्तिकर्ताओं से स्वचालित प्रसंस्करण और डेटा फीडिंग के लिए, हम बैश, पर्ल, php और यहां तक ​​कि अपेक्षा सहित स्क्रिप्ट के विविध मिश्रण को नियोजित और बनाए रखते हैं। उपलब्ध मॉड्यूल और एपीआई के आधार पर प्रत्येक की अपनी ताकत है। बैश लिपियों में हम त्वरित पैटर्न से मेल खाते हैं और पैटर्न पर उचित कार्य करते हैं, जैसे कि पेर के लिए स्विच करने की आवश्यकता के बिना जाग का उपयोग करना। एक बात मैं यह भी बताना चाहूंगा कि थ्रेड में जोर नहीं दिया गया है, यह है कि इन लिपियों की एक उचित संख्या खरीदी गई थी, या खुले स्रोत से प्राप्त हुई थी। यदि स्क्रिप्ट पर्ल के रूप में आई, तो हम इसे पर्ल के रूप में बनाए रखते हैं; अगर स्क्रिप्ट Php के रूप में आती है, तो हम इसे Php के रूप में बनाए रखते हैं; अगर यह बैश के रूप में आया, तो हम इसे बैश के रूप में बनाए रखते हैं;


7
यह एस.लॉट था जिसने उस प्रतिक्रिया को लिखा था जिसे आपने उद्धृत किया है, न कि ब्रायन डी
फ़ो

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