EOL: Cum se convertește un fișier text de tip DOS în UNIX și invers

Selectați DOS, meniul editorului de text Unix

Cu acest simplu tutorial, rezolvăm un mic accident care sigur ți se va fi întâmplat. De multe ori ni se va fi întâmplat ca atunci când deschidem un fișier .txt în Linux sau Windows, textul să fie modificat de la modul în care l-am editat la început. Ceea ce se întâmplă este că liniile ne-au unit și spațiile nu apar. Acest lucru se datorează faptului că formatul de fișier text de tip UNIX diferă de tipul DOS în ceea ce privește caracterul sfârșit de linie (EOL) pe care le folosesc.

Pentru sistemele UNIX, caracterul este un „feed line / newline” sau LF și asta corespunde cu \ n, dacă programezi, îți va suna. În timp ce în Windows sistemul folosit în vechiul DOS este moștenit, adică un „return de transport” urmat de un „feed line / newline” (\ r \ n). Dacă, de exemplu, am editat fișierul în Linux și îl deschidem cu Windows (și formatul în care l-am salvat nu este adecvat), atunci va apărea fericita problemă a lipirii întregului text fără spațiu sau întreruperi de linie.

În Linux este ușor de convertit de la un format la altul fără a instala nimic pe sistemul nostru, utilizați doar aceste comenzi:

  • DE LA DOS LA UNIX:

Vom folosi comanda tr, urmat de parametrul -d și de caracterul EOL corespunzător. De asemenea, vom folosi faimoasele „țevi” pentru a opera cu fișierul text DOS („nume de fișier”) și cel pe care dorim să îl generăm convertit în format UNIX („nume de fișier”). Desigur, trebuie mai întâi să folosim comanda cd pentru a merge în folderul în care se află fișierul care urmează să fie convertit sau din interfața grafică treceți fișierul către / Acasă (implicit unde este localizat promptul):

tr -d '\n' < nombre_archivo > nombre_fichero</p>
  • DE LA UNIX LA DOUĂ:

Acum vom folosi comanda sete pentru a transforma un fișier Unix într-un tip DOS. Pentru aceasta vom folosi următoarea sintaxă, înlocuind numele fișierelor cu fișierul care urmează să fie convertit. Vreau să fac o precizare, ori de câte ori scriu fișier, mă refer la tipul Unix și când pun fișier la tip Windows / DOS.

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

Oricum, în editorii de text moderni, ne oferă deja opțiunea „Salvați ca„În formatul pe care îl dorim fără a fi nevoie să o facem de la terminal. Dar este întotdeauna plăcut să înțelegeți mai bine linia de comandă Linux. O altă opțiune este utilizarea a două instrumente concepute în acest scop, dos2unix și unix2dos, dar în multe distribuții nu sunt instalate în mod implicit și ar trebui instalate ...


Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: AB Internet Networks 2008 SL
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.

  1.   blabla1233445 el a spus

    Afirmația corectă este
    tr -d 'r' nume de fișier