Har du noen gang sendt en tekstfil opprettet på et Linux-system til noen og har dem til å klage over at det så galt ut på macOS eller Windows? Det kan være fordi disse systemene håndterer linjeendinger på en annen måte. Heldigvis er dette enkelt å fikse med et par verktøy: Dos2Unix og Unix2Dos.
Hva er det med linjeslutninger?
En forskjell mellom Windows og Linux som kan gjøre det vanskelig å utveksle filer er måten de teller linjeendelser på. Dette dateres tilbake til dagene da datamaskiner brukte teletypemaskiner for input og output, som effektivt var automatiske skrivemaskiner.
En ny linje, også kalt linjemating, fremfører papiret en linje, og vognretur beveger seg til begynnelsen av linjen. Kommandolinjegrensesnitt videreført på denne konvensjonen om tolking av nye linjer.
Windows arvet MS-DOS-konvensjonen om å telle en ny linje og en vognretur som en linje, mens Linux på sin side bar Unix-tradisjonen med å bare telle nye linjer som vel, nye linjer.
Det meste av tiden er tekstredigerere smarte nok til å kunne oppdage filer som er opprettet på forskjellige systemer og justere skjermen deretter, men det kan hende du fortsatt får problemer innimellom. Du kan prøve å kjøre et skript, og tolken kan kaste en feil fordi den forventer at linjer slutter annerledes.
Bruke Dos2Unix og Unix2Dos
Heldigvis er det et par verktøy som lar deg konvertere linjeendelser i filer mellom formater. De kalles Dos2Unix og Unix2Dos.
Selv om disse verktøyene er vanlige på mange Linux-installasjoner, kan de laste dem ned ved hjelp av standard pakkebehandling, hvis de ikke er installert på systemet ditt.
For å konvertere en fil opprettet på et Windows-system til Linux, bruk dos2unix:
dos2unix-fil
...hvor fil er navnet på filen du vil konvertere. Dette programmet konverterer filen fra DOS newlines til Unix på plass, som navnet antyder. Hvis du vil konvertere en kopi av filen, bruker du -n alternativ:
dos2unix -n file1 file2
...hvor fil1 og fil2 er navnene på originalfil og output-fil. Unix2dos-kommandoen fungerer på samme måte og tar de samme argumentene.
Et alternativt alternativ er å bruke a tekstredigerer på enten Linux eller Windows for å konvertere filer, ettersom de også kan oppdage og endre linjeavslutningsadferd.
I slekt: Unix vs. Linux: Forskjellene mellom og hvorfor det betyr noe
Nå ser tekstfilene dine riktig ut på ethvert system
Med dette verktøyet kan du sørge for at tekstfiler fungerer på Windows eller Linux. Å fikse nye linjer er nå enklere enn noensinne med dos2unix og unix2dos.
I den virkelige verden trenger Linux-brukere og Windows-brukere ofte å dele filer. Heldigvis er det veldig enkelt å gjøre det i disse dager.
Flytter du fra Windows til Linux og trenger å kopiere data over? Bruk disse triksene til å overføre eller dele filer fra Windows til Linux.
Les Neste
- Linux
- MS-DOS
- Unix
David er en frilansskribent med base i Nordvest-Stillehavet, men opprinnelig fra Bay Area. Han har vært en teknologientusiast siden barndommen. Davids interesser inkluderer å lese, se på TV-serier og filmer av høy kvalitet, retro-spill og platesamling.
Abonner på vårt nyhetsbrev
Bli med på nyhetsbrevet vårt for tekniske tips, anmeldelser, gratis e-bøker og eksklusive tilbud!
Ett steg til…!
Bekreft e-postadressen din i e-posten vi nettopp sendte deg.