Har du nogensinde sendt en tekstfil oprettet på et Linux-system til nogen og har dem til at klage over, at det så forkert ud på macOS eller Windows? Det kan skyldes, at disse systemer håndterer linjeendelser forskelligt. Heldigvis er dette let at rette med et par værktøjer: Dos2Unix og Unix2Dos.
Hvad er aftalen med Line Endings?
En forskel mellem Windows og Linux, der kan vanskeliggøre udveksling af filer, er den måde, de tæller linieendelser på. Dette går tilbage til de dage, hvor computere brugte teletypemaskiner til input og output, som effektivt var automatiske skrivemaskiner.
En ny linje, også kaldet linefeed, fremfører papiret en linje, og vognretur bevæger sig til begyndelsen af linjen. Kommandolinjegrænseflader udført på denne konvention om fortolkning af nye linjer.
Windows arvede MS-DOS-konventionen om at tælle en ny linje og en vognretur som en linje, mens Linux til gengæld bar Unix-traditionen med bare at tælle nye linjer som, ja, nye linjer.
For det meste er teksteditorer kloge nok til at kunne registrere filer oprettet på forskellige systemer og justere skærmen i overensstemmelse hermed, men du kan stadig støde på problemer lejlighedsvis. Du kan prøve at køre et script, og tolken kaster muligvis en fejl, fordi den forventer, at linjer slutter anderledes.
Brug af Dos2Unix og Unix2Dos
Heldigvis er der et par hjælpeprogrammer, der lader dig konvertere linjeendelser i filer mellem formater. De kaldes Dos2Unix og Unix2Dos.
Selvom disse værktøjer er almindelige på mange Linux-installationer, kan de downloade dem ved hjælp af standardpakkehåndteringen, hvis de ikke er installeret på dit system.
Brug til at konvertere en fil, der er oprettet på et Windows-system til Linux dos2unix:
dos2unix-fil
...hvor fil er navnet på den fil, du vil konvertere. Dette program konverterer filen fra DOS newlines til Unix på plads, som navnet antyder. Hvis du vil konvertere en kopi af filen, skal du bruge -n mulighed:
dos2unix -n fil1 fil2
...hvor fil1 og fil2 er navnene på original fil og outputfil. Unix2dos-kommandoen fungerer på samme måde og tager de samme argumenter.
En alternativ mulighed er at bruge en teksteditor på begge Linux eller Windows for at konvertere filer, da de også kan registrere og ændre linjeafslutningsadfærd.
Relaterede: Unix vs. Linux: Forskellene mellem og hvorfor det betyder noget
Nu ser dine tekstfiler rigtigt ud på ethvert system
Med dette par hjælpeprogrammer kan du sikre dig, at enhver tekstfil fungerer på enten Windows eller Linux. Det er nu nemmere end nogensinde at rette nye linjer med dos2unix og unix2dos.
I den virkelige verden har Linux-brugere og Windows-brugere ofte brug for at dele filer. Heldigvis er det meget let at gøre det i disse dage.
Skifter du fra Windows til Linux og har brug for at kopiere data på tværs? Brug disse tricks til at overføre eller dele filer fra Windows til Linux.
Læs Næste
- Linux
- MS-DOS
- Unix

David er en freelance forfatter med base i det nordvestlige Stillehav, men oprindeligt fra Bay Area. Han har været en teknologientusiast siden barndommen. Davids interesser inkluderer læsning, ser kvalitets-tv-shows og film, retro-spil og pladesamling.
Abonner på vores nyhedsbrev
Deltag i vores nyhedsbrev for tekniske tip, anmeldelser, gratis e-bøger og eksklusive tilbud!
Et trin mere !!!
Bekræft din e-mail-adresse i den e-mail, vi lige har sendt dig.