यदि आप रुचि रखते हैं तो यहां शुद्ध पावरशेल तरीका है।
कम से कम एक यूनिक्स लाइन समाप्त होने (PowerShell v1) वाली फ़ाइलें ढूँढना:
dir * -inc *.txt | %{ if (gc $_.FullName -delim "`0" | Select-String "[^`r]`n") {$_} }
यहाँ आप कैसे लगता है और Windows लाइन अंत करने के लिए गुप्त यूनिक्स लाइन अंत है। ध्यान देने योग्य एक महत्वपूर्ण बात यह है कि फ़ाइल के अंत में एक अतिरिक्त पंक्ति समाप्त हो जाएगी (\ r \ n) अंत में अंत में समाप्त होने वाली रेखा नहीं है। यदि आप वास्तव में यह नहीं चाहते हैं, तो मैं एक उदाहरण पोस्ट करूंगा कि आप इससे कैसे बच सकते हैं (यह थोड़ा अधिक जटिल है)।
Get-ChildItem * -Include *.txt | ForEach-Object {
## If contains UNIX line endings, replace with Windows line endings
if (Get-Content $_.FullName -Delimiter "`0" | Select-String "[^`r]`n")
{
$content = Get-Content $_.FullName
$content | Set-Content $_.FullName
}
}
ऊपर काम करता है क्योंकि PowerShell स्वचालित रूप से \ N पर सामग्री बाँट देगा (यदि वे मौजूद छोड़ने \ r) और फिर जोड़ने \ r \ n जब यह प्रत्येक बात (इस मामले में एक लाइन) फाइल करने के लिए लिखता है । यही कारण है कि आप हमेशा फ़ाइल के अंत में समाप्त होने वाली रेखा के साथ समाप्त होते हैं।
इसके अलावा, मैंने उपरोक्त कोड लिखा है ताकि यह केवल उन फ़ाइलों को संशोधित कर सके जिन्हें इसकी आवश्यकता है। यदि आपको इसकी परवाह नहीं है तो आप कथन को हटा सकते हैं। ओह, सुनिश्चित करें कि केवल फाइलें फॉरएच-ऑब्जेक्ट पर आती हैं। इसके अलावा आप उस पाइपलाइन की शुरुआत में जो भी फ़िल्टरिंग चाहते हैं वह कर सकते हैं।
http: // superuser।कॉम/प्रश्न/27060/बैच-कन्वर्ट-फाइल-फॉर-एन्कोडिंग-या-लाइन-एंडिंग-अंडर-विंडोज/ –
लोगों को लगता है कि उन्हें एक खराब गिट रेपो की वजह से ऐसा करने की आवश्यकता है, तो आप नहीं कर सकते हैं। इस मुद्दे को अन्य तरीकों से गिट के साथ ठीक करना संभव है, जैसे: http://stackoverflow.com/questions/1510798/trying-to-fix-line-endings-with-git-filter-branch-but-having-no- भाग्य/1511273 # 1511273 –