जब आप कोई टेक्स्ट फ़ाइल साझा करते हैं, तो लाइन एंडिंग्स उस प्रोग्राम के अनुसार चुनें जो इसे पढ़ेगा, न कि केवल उस कंप्यूटर के अनुसार जो इसे प्रदर्शित करेगा। macOS, Linux और आधुनिक डेवलपमेंट टूल्स के बीच स्थानांतरित होने वाली अधिकांश फ़ाइलों के लिए, LF का उपयोग करें। CRLF तब चुनें जब किसी Windows-विशिष्ट टूल या किसी स्थापित प्रोजेक्ट को इसकी आवश्यकता हो। Mac पर, आप इन-बिल्ट कमांड्स के साथ Terminal में किसी ज्ञात टेक्स्ट फ़ाइल को रूपांतरित कर सकते हैं और परिणाम को एक अलग फ़ाइल के रूप में सहेज सकते हैं।
LF और CRLF का क्या अर्थ है
लाइन एंडिंग वह कैरेक्टर या कैरेक्टर अनुक्रम है जो किसी लाइन के अंत को चिह्नित करता है। macOS कमांड-लाइन टूल्स LF का उपयोग करते हैं, जो एक सिंगल लाइन-फ़ीड (line-feed) कैरेक्टर है। Windows टेक्स्ट फ़ाइलें आमतौर पर CRLF का उपयोग करती हैं, जो कैरिज रिटर्न के बाद एक लाइन फ़ीड होता है। पुरानी क्लासिक Mac फ़ाइलें केवल CR का उपयोग कर सकती हैं, जो एक अलग, कम प्रचलित फ़ॉर्मेट है। Apple इन परंपराओं का वर्णन करता है और नोट करता है कि CRLF फ़ाइलें Unix कमांड-लाइन टूल्स में अप्रत्याशित व्यवहार का कारण बन सकती हैं क्योंकि अतिरिक्त कैरिज रिटर्न प्रत्येक लाइन के अंत में बना रहता है। Apple की क्रॉस-प्लेटफ़ॉर्म स्क्रिप्टिंग गाइड
एक व्यावहारिक नियम के रूप में, उन स्क्रिप्ट्स और प्लेन-टेक्स्ट फ़ाइलों के लिए LF को प्राथमिकता दें जिनका उपयोग macOS, Linux पर या किसी क्रॉस-प्लेटफ़ॉर्म कोड प्रोजेक्ट में किया जाएगा, जब तक कि प्रोजेक्ट में कुछ और निर्दिष्ट न किया गया हो। CRLF का उपयोग तब करें जब कोई प्राप्तकर्ता एप्लिकेशन या प्रोजेक्ट स्पष्ट रूप से इसकी आवश्यकता रखता हो। जब आपको पता न हो, तो प्राप्तकर्ता से पूछें या प्रोजेक्ट के निर्देशों की जाँच करें; केवल फ़ाइल एक्सटेंशन आपको यह नहीं बताता कि कौन सी लाइन एंडिंग अपेक्षित है।
रूपांतरित करने से पहले फ़ॉर्मेट चुनें
पहले फ़ाइल के अगले उपयोग की पहचान करें। एक टेक्स्ट फ़ाइल जो लक्षित एप्लिकेशन में सही ढंग से खुलती है और काम करती है, उसे रूपांतरण की आवश्यकता नहीं हो सकती है। एक फ़ाइल जो देखने में सामान्य लगती है लेकिन शेल स्क्रिप्ट या डेटा-प्रोसेसिंग चरण में विफल हो जाती है, उसमें CRLF हो सकता है, जिससे छिपे हुए कैरिज रिटर्न छूट जाते हैं जो लाइन मैचिंग या फ़ील्ड पार्सिंग को प्रभावित करते हैं। Apple नोट करता है कि ये समस्याएँ तब भी उत्पन्न हो सकती हैं जब सामग्री दिखने में सही प्रतीत होती है। लाइन-एंडिंग व्यवहार पर Apple का स्पष्टीकरण
TextEdit प्लेन-टेक्स्ट दस्तावेज़ बना और संपादित कर सकता है, लेकिन Apple की वर्तमान गाइड सेव करते समय LF बनाम CRLF चुनने के लिए किसी नियंत्रण का उल्लेख नहीं करती है। इसके लाइन-ब्रेक कमांड दस्तावेज़ सामग्री को फ़ॉर्मेट करते हैं; उन्हें फ़ाइल लाइन-एंडिंग चयनकर्ता के रूप में वर्णित नहीं किया गया है। यदि आपको कोई विशिष्ट फ़ॉर्मेट सेट करने की आवश्यकता है, तो प्रलेखित लाइन-एंडिंग विकल्प वाले टेक्स्ट एडिटर का उपयोग करें या Terminal में किसी ज्ञात प्लेन-टेक्स्ट फ़ाइल को रूपांतरित करें। TextEdit यूज़र गाइड, TextEdit ब्रेक कंट्रोल्स
Terminal में किसी ज्ञात टेक्स्ट फ़ाइल को रूपांतरित करें
मूल फ़ाइल को सुरक्षित रखें: रूपांतरण को एक अलग फ़ाइल नाम से लिखें, फिर साझा करने से पहले नई फ़ाइल को खोलें या उसका निरीक्षण करें। Terminal में, input.txt और output.txt को वास्तविक पाथ से बदलें। Windows CRLF का उपयोग करने वाली ज्ञात फ़ाइल के लिए जिसे Mac या Unix टूल को LF के रूप में चाहिए, यह चलाएँ:
tr -d '\r' < input.txt > output.txt
यह कैरिज रिटर्न को हटा देता है, जिससे LF लाइन एंडिंग्स रह जाती हैं। LF का उपयोग करने वाली ज्ञात फ़ाइल के लिए जिसे प्राप्तकर्ता को Windows CRLF के रूप में चाहिए, यह चलाएँ:
CR="$(printf '\r')"
sed "s/$/$CR/" < input.txt > output.txt
यह प्रत्येक लाइन फ़ीड से पहले एक कैरिज रिटर्न जोड़ता है। Apple tr और sed का उपयोग करके इन रूपांतरणों का विवरण देता है। Apple के रूपांतरण उदाहरण
इन कमांड्स का उपयोग केवल तभी करें जब आप स्रोत फ़ॉर्मेट जानते हों और फ़ाइल प्लेन टेक्स्ट हो। LF रूपांतरण प्रत्येक CR कैरेक्टर को हटा देता है, न कि केवल LF के साथ जुड़े CR कैरेक्टर्स को; इसके विपरीत रूपांतरण यह मानकर चलता है कि इनपुट LF का उपयोग करता है। मिश्रित फ़ाइल, केवल-CR वाली पुरानी फ़ाइल, या ऐसी फ़ाइल जिसकी सामग्री में सार्थक कैरिज रिटर्न शामिल हैं, उसके लिए ये सरल कमांड्स आपके द्वारा सोची गई लाइन एंडिंग्स से अधिक बदलाव कर सकते हैं। इन्हें बाइनरी फ़ाइलों पर चलाने से बचें। यदि फ़ाइल का फ़ॉर्मेट अनिश्चित है या एन्कोडिंग और मेटाडेटा को सुरक्षित रखना महत्वपूर्ण है, तो उपयुक्त एडिटर या रूपांतरण टूल का उपयोग करें और पहले इसके दस्तावेज़ों की जाँच करें।
परिणाम की जाँच करें और सही फ़ाइल भेजें
लक्षित एप्लिकेशन में आउटपुट खोलें और पुष्टि करें कि लाइनें अलग-अलग प्रदर्शित हो रही हैं और फ़ाइल में अभी भी अपेक्षित टेक्स्ट मौजूद है। मूल फ़ाइल को तब तक अपने पास रखें जब तक प्राप्तकर्ता यह पुष्टि न कर दे कि रूपांतरित प्रतिलिपि काम कर रही है। रूपांतरित आउटपुट भेजें, न कि मूल फ़ाइल, और जब यह महत्वपूर्ण हो तो अपने हैंडऑफ़ में अपेक्षित लाइन-एंडिंग फ़ॉर्मेट शामिल करें—उदाहरण के लिए, "LF लाइन एंडिंग्स के साथ सहेजा गया।"
सबसे सुरक्षित विकल्प वही है जिसे प्राप्तकर्ता टूल या प्रोजेक्ट निर्दिष्ट करता है। किसी विशेष आवश्यकता के बिना, LF Mac वर्कफ़्लो के लिए एक स्वाभाविक शुरुआती बिंदु है; CRLF में केवल तभी रूपांतरित करें जब गंतव्य इसकी मांग करे।
स्रोत
Designing Scripts for Cross-Platform Deployment — Apple Developer
TextEdit User Guide — Apple Support
Insert line, paragraph, and page breaks in TextEdit on Mac — Apple Support