क्या \ n \ n को \ n में परिवर्तित करने के लिए कोई बैश कमांड है?


19

क्या \ n \ n को \ n में परिवर्तित करने के लिए कोई बैश कमांड है?

जब मैं विंडोज़ से लिनक्स पर अपनी स्क्रिप्ट अपलोड करता हूं, तो मुझे काम करने के लिए इस तरह की उपयोगिता की आवश्यकता होती है।


7
dos2unixआमतौर पर उपलब्ध है, अन्यथाsed -e 's/\r$//'
फाल्स्ट्रो

1
नहीं, इसके लिए कोई बैश कमांड नहीं है, लेकिन dos2unixजो आप चाहते हैं उसे करने के लिए एक यूनिक्स / लिनक्स प्रोग्राम है।
अगली सूचना तक रोक दिया गया।

1
आप फ़ाइलों को सहेजते समय आपको एक नई पाठ शैली का उपयोग करने की अनुमति क्यों नहीं देते हैं?
vtest

जवाबों:


28

वहाँ है:

dos2unix

यह ऐतिहासिक रूप से सही उत्तर है, हालांकि dos2unix इन दिनों हमेशा उपलब्ध नहीं होता है।
जेरेड

5

अनुवाद ( tr ) सभी यूनिक्स में उपलब्ध है:

tr -d '\r'  # From \r\n line end (DOS/Windows), the \r will be removed so \n line end (Unix) remains.

1
किसी भी अन्य को हटाने का एक साइड-इफेक्ट \rहै। वे हालांकि असामान्य हैं।
ivan_pozdeev

5

Sed के साथ और पाते हैं कि अंत के साथ .txt, .php, .js, .css:

 sed -rie 's/\r\n/\n/' \
 $(find . -type f -iregex ".*\.\(txt\|php\|js\|css\)")

5

एक यूनिक्स उपयोगिता है जिसे convलाइन एंडिंग्स में परिवर्तित किया जा सकता है। यह अक्सर करने के लिए softlinks साथ शुरू हो जाती है u2dया d2uया unix2dosया dos2unix

इसके अतिरिक्त उपयोगिताओं कहा जाता है fromdosऔर todos


2

मैन 1 एड का उपयोग करना (जो किसी भी पिछले बैकअप के बिना इन-प्लेस फ़ाइलों को संपादित करता है - इसके विपरीत: sed .. -i ".bak" ...):

ed -s file <<< $'H\ng/\r*$/s///\nwq'

मैं एड भी नहीं जानता था, लेकिन यह काम करता है (पुराना लेकिन सोना)
dwana

जब मेरे द्वारा उपयोग की जा रही साझा होस्टिंग पर अन्य उत्तरों के आदेश मौजूद नहीं थे, तो इस कमांड ने मेरे लिए काम किया। धन्यवाद :)
FKasa

2

POSIX के साथ ऐसा करना मुश्किल है:

  • POSIX Sed समर्थन नहीं करता है \rया \15। यहां तक ​​कि अगर यह किया, जगह विकल्प -iमें POSIX नहीं है

  • POSIX Awk समर्थन करता है \rऔर \15, हालांकि -i inplaceविकल्प POSIX नहीं है

  • d2u और dos2unix POSIX उपयोगिताओं नहीं हैं , लेकिन पूर्व है

  • POSIX पूर्व का समर्थन नहीं करता \r, \15, \nया\12

कैरिज रिटर्न निकालने के लिए:

awk 'BEGIN{RS="\1";ORS="";getline;gsub("\r","");print>ARGV[1]}' file

गाड़ी का रिटर्न जोड़ने के लिए:

awk 'BEGIN{RS="\1";ORS="";getline;gsub("\n","\r&");print>ARGV[1]}' file


0

$ recode dos ..
$ $ फ्लिप- FILE

(प्रत्येक गैर-उबंटू सिस्टम के लिए भी मौजूद है, लेकिन ये लिंक काम के हैं।)

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