2010-07-15 14 views
6

Sadece bir arkadaşımdan bir kaynak kodu dosyası aldım. Dosya UNIX'te oluşturuldu. NotePad ++ kullanarak Windows'da açtığımda, her satırda bir tane daha boş bir satır vardı.Her satırdaki^M ile metin dosyası

Şaşkın, Vim'i indirdim ve dosyayı açmak için kullandım. Sonra her satırın sonunda^M bir demet gördüm.

Bu nedir? M? Eklenmesini nasıl önlersiniz?

cevap

11

dönüştürmek gibi bir unix formatını

  • Kullanım dos2unix kurtarmak bir editör kullanın var şimdiki gibi bilinen bir şeydir, ancak CP/M ve OS/2 gibi UNIX olmayan eski işletim sistemlerinin çoğu da bunlara sahipti). Çeşitli Uniselerde, satır sonları \n'dur. DOS/Windows'da satır sonları \r\n (CR + LF veya Carriage-Return ve Line-Feed) şeklindedir. \r, ^M olarak görünen şeydir. vim bunları kaldırmak için yapmam: CTRL + M

    CTRL + V yaparak^M olsun ve sonra Eğer bir UNIX üzerinde Eğer

    :%s/^M// 
    

    sistemde dos2unix'u kullanabilirsiniz.

  • +1

    Buna ek olarak, bir komut dosyası kullanıyorsanız (Python gibi),^M doğru olarak yorumlanmayacaktır, dolayısıyla bunun yerine kullanmanız gerekecektir. Bunu anlamak için biraz zaman harcadım. – Flaviu

    0

    Bu bir satır başı dönüşüdür. DOS/Windows editörleri bir satır başı ve bir satır beslemesi kullanma eğilimindedir, Unix editörleri sadece satır beslemesini kullanmayı sever. Geany ve textpad gibi bazı editörler bunu algılayabilir ve size^M'yi göstermezler, bazıları ise seçimlerin unix stili veya crlf stilini içerdiği yerde kaydetmenizi sağlar. Ayrıca, bazı derleyicilerin gereksinim duyduğu dosya sonunda bir EOF bulunması sorunu da vardır. Bir pencere artefaktı olan bu

    2

    . Sen (2 seçenek

    1. Belirtebileceğiniz nerede sistemi olanlar DOS/Windows tarzı satır sonları vardır
    İlgili konular