जवाबों:
$ file f1 f2 f3
f1: ASCII text, with CRLF, LF line terminators
f2: ASCII text, with CRLF line terminators
f3: ASCII text
यदि आपको फ़ाइल में प्रत्येक पंक्ति की जांच करना आवश्यक लगता है, तो आप ऐसा कर सकते हैं:
$ grep -c "^M" f1 f2
f1:0
f2:3
$ wc -l f1 f2
3 f1
3 f2
6 total
"^ M" को Ctrl + V Ctrl + M का उपयोग करके दर्ज किया गया था और यह ASCII कैरिज-रिटर्न (CR) वर्ण है।
यहां हम देखते हैं कि फ़ाइल f1 में तीन लाइनें हैं लेकिन कोई भी CR नहीं है इसलिए सभी लाइन एंडिंग यूनिक्स स्टाइल सोलो LFs होनी चाहिए।
फ़ाइल f2 में समान संख्या में लाइनें और CR हैं इसलिए यह अनुमान लगाना उचित है कि यह CRD, LF लाइन-एंडिंग्स का उपयोग करता है जैसा कि MSDOS और Windows द्वारा उपयोग किया जाता है।
file -m magicfile f1 f2 f3
विंडोज पर, बताने का एक त्वरित तरीका नोटपैड में अपनी फ़ाइल को खोलना है। नोटपैड केवल विंडो शैली समाप्ति (CR + LF) पर लाइन-ब्रेक दिखाएगा, न कि यूनिक्स समाप्ति (LF)। तो आपका यूनिक्स टेक्स्ट इस तरह दिखेगा:
Line1Line2Line3Line4
जबकि, विंडोज़ टेक्स्ट इस तरह दिखेगा:
line1
line2
line3
line4
मैं यूनिक्स / लिनक्स प्लेटफ़ॉर्म से बहुत परिचित नहीं हूं, लेकिन मुझे यकीन है कि आप इसी तरह के हैक का उपयोग गैडिट या ईमैक्स जैसे कार्यक्रमों के साथ कर सकते हैं।
c=($(perl -0777ne 'print $_ =~ tr/\n//; print " ";
print $_ =~ tr/\r//;'))
if ((!(c[0] + c[1]))) ;then echo no line endings
elif (( c[0] && !c[1] )) ;then echo LF
elif (( !c[0] && c[1] )) ;then echo CR
elif (( c[0] == c[1] )) ;then echo CRLF
else echo "anbigious LF ${c[0]} CR ${c[1]}"
fi
ध्यान दें, कि गति के लिए, केवल व्यक्तिगत \rएस और \nएस को गिना जाता है, लेकिन यह एक बहुत ही अजीब फ़ाइल होगी जिसमें दोनों प्रकार की समान संख्या थी और अभी तक एक विंडोज सीआरएलएफ फ़ाइल नहीं थी ...
यह भी ध्यान दें कि * निक्स टूल fileफ़ाइल का पूरा स्कैन नहीं करता है, जबकि यह perlस्क्रिप्ट करता है। आपने उल्लेख नहीं किया है कि आप किस प्लेटफॉर्म पर चलना चाहते हैं; मैंने bashपर्ल के आउटपुट का परीक्षण करने के लिए स्क्रिप्ट का उपयोग किया है , लेकिन इसे विंडो cmdस्क्रिप्ट में बदला जा सकता है ।
आप बस अपनी फ़ाइल को इसमें डाल सकते हैं।
fileआउटपुट लाइन समाप्त होने की स्थिति नहीं है, अगर वह ASCII से अधिक करीबी मैच पा सकता है, अर्थातsetup.py: a python script text executable। उस व्यवहार को बदलने के लिए ध्वज खोजने के लिए प्रतीत नहीं हो सकता।