Med dette enkle tutorial, vi løser et lite uhell som sikkert vil ha skjedd med deg. Mange ganger vil det ha skjedd med oss at når du åpner en .txt-fil i Linux eller Windows, blir teksten endret fra hvordan vi redigerte den i begynnelsen. Det som skjer er at linjene har sluttet seg til oss og at mellomrommene ikke vises. Dette er fordi UNIX-type tekstfilformat skiller seg fra DOS-typen når det gjelder karakteren til end-of-line (EOL) som de bruker.
For UNIX-systemer er tegnet en "line feed / newline" eller LF og det tilsvarer \ n, hvis du programmerer, vil det høres ut for deg. Mens i Windows arves systemet som brukes i den gamle DOS, det vil si en "vognretur" etterfulgt av en "line feed / newline" (\ r \ n). Hvis vi for eksempel har redigert filen i Linux, og vi åpner den med Windows (og formatet vi har lagret den ikke er tilstrekkelig), vil det være det lykkelige problemet med å lime all teksten uten plass eller linjeskift.
I Linux er det enkelt å konvertere fra ett format til et annet uten å installere noe på systemet vårt, bruk bare disse kommandoene:
- FRA DOS TIL UNIX:
Vi vil bruke kommandoen tr, etterfulgt av parameteren -d og riktig EOL-tegn. Vi vil også bruke de berømte "rørene" til å operere med DOS-tekstfilen ("filnavn") og den vi ønsker å generere konvertert til UNIX-format ("filnavn"). Selvfølgelig må vi først bruke cd-kommandoen til å gå til mappen der filen som skal konverteres ligger, eller fra det grafiske grensesnittet sende filen til / Hjem (som standard der ledeteksten ligger):
tr -d '\n' < nombre_archivo > nombre_fichero</p>
- FRA UNIX TIL TO:
Nå skal vi bruke kommandoen tørste å transformere en Unix-fil til en DOS-type. For dette vil vi bruke følgende syntaks, og erstatte navnet på filene for filen som skal konverteres. Jeg vil gjøre en avklaring, når jeg skriver fil, mener jeg Unix-type og når jeg legger fil til Windows / DOS-type.
sed 's/$/\r/' nombre_fichero > nombre_archivo</p>
Uansett, i moderne tekstredigerere gir det oss allerede muligheten til å "Lagre som”I formatet vi ønsker uten å måtte gjøre det fra terminalen. Men det er alltid bra å vite mer om Linux-kommandolinjen. Et annet alternativ er å bruke to verktøy designet for dette formålet, dos2unix og unix2dos, men i mange distribusjoner er de ikke installert som standard og skal installeres ...
Den riktige uttalelsen er
tr -d 'r' filnavn