Konvertere DOS / UNIX og omvendt

Det finnes flere verktøy for å konvertere tekstfiler fra UNIX eller Linux til DOS operativsystemer og omvendt; Det hjelper imidlertid alltid å kjenne den manuelle konvertering. I shell-programmeringsspråk som UNIX eller Linux, slutter tekstfilene med en ny linjeoperatør "\ n", også kjent som linjematen, og ASCII-koden er 0A. En DOS-tekstfil avslutter en linje ved vognretur eller oppføringstasten "\ r": ASCII-koden er 0D. Linjene i DOS-enden med CRLF eller med "\ r \ n". For å konvertere denne DOS-teksten til UNIX eller Linux slettes "\ r"; Du kan også bruke ASCII-koder hvis du bruker GNU-sed-versjon. Fra UNIX til DOS kan du legge til "\ r" eller ellers bruke GNU-sed notasjoner symbolsk ved hjelp av ASCII-kodene.

Intro

Selv om det er (dos2unix og unix2dos) bruksprogrammer som er i stand til å utføre denne oppgaven, er det et enkelt tips om hvordan man manuelt lager disse funksjonene.

Konverter DOS til UNIX / UNIX til DOS

Tekstfilene under Unix avslutter linjen med symbolet "\ n" (kalt Line Feed og notert LF, ASCII-kode = 0A).

Tekstfiler under DOS med en "linje", avslutt deres linje med symbolet "\ r" (kalt Carriage Return og notert CR, ASCII 0D).

Dermed slutter hver linje i en DOS-fil med en CRLF-sekvens, eller \ r \ n.

Konvertering fra DOS til UNIX

Bare slett "\ r" (vognretur) på slutten av linjen.

"\ R" er symbolisk representert av "^ M", som er oppnådd med følgende sekvens av nøklene "CTRL-V" + "CTRL-M".

 sed 's / ^ M $ //' fil 

Merk:

Med GNU-sed (gsed 3.02.80) versjonen, kan vi bruke ASCII notasjonen:

 sed 's / \ x0D $ //' fil 

Konvertering fra UNIX til DOS

Gjør det motsatte av den forrige kommandoen, nemlig ("^ M" blir oppgitt på samme måte (CTRL-V + CTRL-M)):

 sed 's / $ / ^ M /' fil 

Merk:

Med GNU-sed (gsed 3.02.80) versjonen kan vi bruke symbolsk notasjonen "\ r":

 sed 's / $ / \ r /' fil 
Forrige Artikkel Neste Artikkel

Beste Tips