EOL: Com convertir un fitxer de text tipus DOS a UNIX i viceversa

Seleccionar DOS, Unix menú de l'editor de text

Amb aquest senzill tutorial, Solucionem un petit contratemps que segurament t'haurà passat. Moltes vegades ens haurà passat que a l'obrir un fitxer .txt en Linux o Windows, el text es veu modificat de com ho havíem editat al principi. El que passa és que les línies se'ns han unit i no apareixen els espais. Això es deu al fet que el format de fitxer de text tipus UNIX difereix amb el tipus DOS pel que fa a l'caràcter de fi-de-línia (EOL) que empren.

Per a sistemes UNIX, el caràcter és un "line feed / newline" o LF i que correspon a \ n, si programeu us sonarà. Mentre que en Windows es hereta el sistema emprat en l'antic DOS, és a dir, un "carriage return" seguit d'un "line feed / newline" (\ r \ n). Si per exemple hem editat el fitxer en Linux i ho estem obrint amb Windows (i el format en què ho hem guardat no és l'adequat), llavors vindrà el maleït problema de tenir tot el text pegat sense espai o salt de Lienas.

A Linux és senzill convertir d'un format a un altre sense instal·lar res en el nostre sistema, només cal fer servir aquestes comandes:

  • DE DOS A UNIX:

Emprarem la comanda tr, Seguit de l'paràmetre -di el caràcter EOL oportú. A més emprarem els famosos "pipes" per operarar amb l'arxiu de text DOS ( "nomeni_arxiu") i el que volem generar convertit en format UNIX ( "nom_fitxer"). Per descomptat hem d'emprar prèviament l'ordre cd per situar-nos en la carpeta on es troba l'arxiu a convertir o des de la interfície gràfica passar l'arxiu a / Home (per defecte on es troba l'indicador):

tr -d '\n' < nombre_archivo > nombre_fichero</p>
  • D'UNIX A DOS:

Ara farem servir la comanda set per transformar un fitxer Unix en un tipus DOS. Per a això farem servir la següent sintaxi, substituint el nom dels arxius pel de l'arxiu a convertir. Vull fer un aclariment, sempre que escric fitxer em refereixo a tipus Unix i quan poso arxiu als tipus Windows / DOS.

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

De tota manera, en els editors de text moderns, ja ens dóna l'opció de "desa"En el format que desitgem sense haver de fer-ho des del terminal. Però sempre està bé conèixer més a fons la línia d'ordres Linux. Una altra opció és utilitzar dues eines destinades per aquest fi, dos2unix i unix2dos, però en moltes distribucions no vénen instal·lades per defecte i caldria instal·lar-les ...


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: AB Internet Networks 2008 SL
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.

  1.   blabla1233445 va dir

    La setencia correcta és
    tr -d 'r' nom_fitxer