EOL: DOS tipi bir metin dosyası UNIX'e nasıl dönüştürülür ve bunun tersi de geçerlidir

DOS, Unix metin editörü menüsünü seçin

Bu kadar basit öğretici, başınıza mutlaka gelecek olan küçük bir aksiliği çözüyoruz. Çoğu zaman, Linux veya Windows'ta bir .txt dosyasını açarken, metnin başlangıçta düzenlediğimiz şekle göre değiştirildiği başımıza gelecektir. Olan şu ki, çizgiler bize katılıyor ve boşluklar görünmüyor. Bunun nedeni, UNIX türü metin dosyası biçiminin, karakter açısından DOS türünden farklı olmasıdır. hat sonu (EOL) kullandıkları.

UNIX sistemleri için, karakter bir "satır besleme / satırsonu" veya LF ve bu, \ n'ye karşılık gelir, eğer programlarsanız size ses çıkarır. Windows'ta eski DOS'ta kullanılan sistem miras alınır, yani bir "satır başı" ve ardından bir "satır besleme / satırsonu" (\ r \ n) miras alınır. Örneğin, dosyayı Linux'ta düzenlediysek ve onu Windows ile açıyorsak (ve onu kaydettiğimiz format uygun değilse), o zaman tüm metnin boşluksuz yapıştırılmasının mutlu bir sorunu olacaktır veya satır sonları.

Linux'ta bir formattan diğerine dönüştürmek kolaydır hiçbir şey yüklemeden sistemimizde şu komutları kullanın:

  • DOS'DAN UNIX'E:

Komutunu kullanacağız tr, ardından -d parametresi ve uygun EOL karakteri gelir. Ayrıca, DOS metin dosyasıyla ("dosya adı") ve oluşturmak istediğimiz UNIX biçimine ("dosya adı") dönüştürülmüş ünlü "boruları" da kullanacağız. Elbette, dönüştürülecek dosyanın bulunduğu klasöre gitmek için ilk önce cd komutunu kullanmalıyız veya grafik arayüzden dosyayı / Home'a ​​iletmeliyiz (varsayılan olarak komutun bulunduğu yer):

tr -d '\n' < nombre_archivo > nombre_fichero</p>
  • UNIX'DEN İKİYE:

Şimdi komutu kullanacağız susuzluk Bir Unix dosyasını DOS türüne dönüştürmek için. Bunun için, dönüştürülecek dosyanın adlarını değiştirerek aşağıdaki sözdizimini kullanacağız. Bir açıklama yapmak istiyorum, ne zaman dosya yazsam Unix tipini kastettiğim ve Windows / DOS tipine dosya koyduğumda.

sed 's/$/\r/' nombre_fichero > nombre_archivo</p>

Her neyse, modern metin editörlerinde zaten bize şu seçeneği sunuyor: "Farklı kaydet”Terminalden yapmak zorunda kalmadan istediğimiz formatta. Ancak Linux komut satırı hakkında daha fazla bilgi sahibi olmak her zaman iyidir. Diğer bir seçenek de bu amaç için tasarlanmış iki araç, dos2unix ve unix2dos kullanmaktır, ancak birçok dağıtımda bunlar varsayılan olarak kurulmaz ve kurulmaları gerekir ...


Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: AB Internet Networks 2008 SL
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.

  1.   fahişe1233445 dijo

    Doğru ifade şudur:
    tr -d 'r' dosya adı