लाइन एंडिंग क्या हैं?

एक लाइन एंडिंग (जिसे न्यूलाइन या एंड-ऑफ-लाइन सीक्वेंस भी कहा जाता है) एक विशेष वर्ण या वर्णों की जोड़ी है जो यह चिह्नित करती है कि एक पंक्ति का पाठ कहाँ समाप्त होता है और अगली शुरू होती है। ऑपरेटिंग सिस्टम में तीन अलग-अलग सम्मेलन मौजूद हैं: LF (\n, एक एकल लाइनफीड वर्ण), CRLF (\r\n, एक कैरिज रिटर्न के बाद लाइनफीड), और CR (\r, एक स्टैंडअलोन कैरिज रिटर्न)।

यह अंतर प्रारंभिक कंप्यूटिंग हार्डवेयर से उत्पन्न होता है। टाइपराइटर को एक नई लाइन शुरू करने के लिए दो भौतिक चरणों की आवश्यकता होती थी — कैरिज को शुरुआत में वापस ले जाना (CR) और कागज को एक लाइन आगे बढ़ाना (LF)। Unix सिस्टम ने 1970 के दशक में केवल LF को अपनाया, जबकि MS-DOS और बाद में Windows ने पूर्ण CR+LF सीक्वेंस को बनाए रखा। क्लासिक Mac OS (OS X से पहले) ने अकेले CR का उपयोग किया, हालांकि आधुनिक macOS Unix LF सम्मेलन का पालन करता है।

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

टूल विवरण

यह टूल पाठ या फाइल का विश्लेषण करता है और पता लगाता है कि कौन से लाइन एंडिंग प्रकार मौजूद हैं। यह प्रत्येक प्रकार को अलग-अलग गिनता है — CRLF, LF, और CR — और समग्र लाइन एंडिंग शैली की रिपोर्ट करता है (जिसमें यह भी शामिल है कि क्या फाइल में मिश्रित एंडिंग हैं)। यह बुनियादी लाइन सांख्यिकी भी प्रदान करता है: कुल लाइन गिनती, सबसे लंबी लाइन, सबसे छोटी लाइन, और औसत लाइन लंबाई।

विशेषताएं

  • सभी तीन लाइन एंडिंग प्रकारों का पता लगाता है: CRLF (Windows), LF (Unix/macOS), और CR (क्लासिक Mac)
  • मिश्रित लाइन एंडिंग की पहचान करता है और प्रमुख शैली को लेबल करता है
  • कोड एडिटर के माध्यम से पेस्ट किए गए पाठ और किसी भी पाठ प्रारूप की अपलोड की गई फाइलों दोनों को स्वीकार करता है

यह कैसे काम करता है

CRLF सीक्वेंस (\r\n) का पता लगाया जाता है और regex मैच का उपयोग करके पहले गिना जाता है। मिलान की गई जोड़ियों को फिर स्टैंडअलोन LF (\n) और CR (\r) वर्णों को अलग से गिनने से पहले string से हटा दिया जाता है। यह एक एकल \r\n को CR और LF दोनों के रूप में गिने जाने से रोकता है। लाइन सांख्यिकी मूल पाठ को सभी तीन लाइन एंडिंग पैटर्न पर विभाजित करके प्राप्त की जाती है।