Hvis du noen gang har overført en tekstfil fra et UNIX-basert system til et Windows-system, vet du at når du åpner tekstfilen på Windows-systemet, vises den vanligvis ikke riktig. Windows-baserte tekstleserprogrammer (som Notisblokk) kan kanskje ikke vise teksten. I de fleste tilfeller, når du åpner tekstfilen, blir alle ordene vist på en enkelt gigantisk linje uten noen pauser. Dette skyldes at det er en liten forskjell på hvordan et tekstdokument skrives (og leses) på Windows og UNIX.

Hvis en fil ble skrevet på et Windows-basert system og åpnet av en tekstredigerer på et UNIX-system, er det veldig vanlig at "Ctrl-M" -tegnene (^ M) vises på slutten av hver tekstlinje. Hvis en fil ble skrevet på et UNIX-system og åpnet av en tekstredigerer på et Windows-system, vises ikke linjeskiftetegnet (EOL) riktig. Vognreturkarakteren er også forskjellig for både UNIX og Windows.

Mens du arbeider med filer, vil du ikke bli begrenset av om filen ble opprettet på Linux eller Windows. Så hvordan konverterer du en fil fra UNIX til Windows (eller omvendt) uten at formateringen blir helt gal? Vi går deg gjennom trinnene.

Konvertere filer fra Linux / UNIX-format til Windows Format

Hvis du bruker et UNIX-basert system for å overføre filene til et Windows-system, er det noen kommandoer som lar deg konvertere tekstfilen / filene du overfører til et format som Windows kan forstå.

Dos2unix og unix2dos kommandoen

Du kan bruke kommandolinje til å konvertere filer fra UNIX til Windows og vice versa. For å konvertere en Windows-tekstfil til en UNIX-tekstfil, skriv dette inn:

 dos2unix windows.txt unix.txt 

Kommandoen ovenfor konverterer og erstatter "windows.txt" -filen til "unix.txt". For å konvertere en UNIX-tekstfil til en Windows-tekstfil, skriv inn denne kommandoen:

 unix2dos unix.txt windows.txt 

Kommandoen ovenfor vil konvertere en UNIX-opprettet tekstfil kalt "unix.txt" til en Windows-kompatibel tekstfil kalt "windows.txt".

Den awk kommandoen

Kommandoen awk lar deg også konvertere en fil fra UNIX til Windows og omvendt. For å konvertere en Windows-fil til en UNIX-fil, skriv inn følgende kommando:

 awk '{sub ("\ r $", ""); skriv ut} 'windows.txt> unix.txt 

For å konvertere en UNIX-tekstfil kalt "unix.txt" til en Windows-tekstfil kalt "windows.txt", skriv inn følgende kommando:

 awk 'sub ("$", "\ r")' uniz.txt> windows.txt 

Tr-kommandoen

tr kommandoen (transliterate) kan brukes til å fjerne vognreturtegnene og "Ctrl-Z" -tegnene fra en Windows-fil. Dette kan bare gjøres hvis du konverterer en fil fra Windows til UNIX. Kommandoen vil bli skrevet som følger:

 tr-d '\ 15 \ 32' <winfile.txt> unixfile.txt 

tr kommandoen oversetter et tegn med en annen. I dette tilfellet hjelper det deg med å utelate unødvendige tegn.

Bruke Visual Editor (Vi)

Hvis du bruker Visual Editor til å vise en fil som er opprettet på et Windows-system, kan du fjerne vognreturs tegnene ved å skrive følgende kommandolinje:

 : 1, $ s / ^ M // g 

For å få datamaskinen til å skrive inn ^ M-karakteren, må du trykke "Ctrl + v" og deretter trykke Retur.

Bruke filoverføringsprotokollprogrammer

FTP-programmer (File Transfer Protocol) er tilgjengelige både for UNIX og Windows-systemet. Hvis du trenger å konvertere mange filer fra Windows til UNIX (eller omvendt), så er det en god idé å laste ned et FTP-program. Det er mange tilgjengelige gratis på Internett. Hummingbird FTP er et av de mest populære FTP-programmene der ute. Det er sikkert og enkelt å bruke.

De fleste FTP-programmer overfører filer fra UNIX til Windows i ASCII-format. Noen ganger må du spesifisere formatet for deg selv (hvis du bruker kommandolinjebaserte FTP-programmer). For å gjøre det, skriv bare inn dette på kommandolinjen:

 ascii 

Konklusjon

Den enkleste måten å konvertere en fil fra et UNIX-format til Windows (og omvendt) er å bruke et FTP-program. Konverteringskommandoene er din neste beste innsats. Hvis du ser etter flere kommandoer som utfører samme oppgave, kan du søke etter perl og sed kommandoer. Vær imidlertid oppmerksom på at disse kommandoene kanskje ikke fungerer på tvers av alle systemene.