Om du någonsin har överfört en textfil från ett UNIX-baserat system till ett Windows-system, vet du att när du öppnar textfilen på Windows-systemet visas den oftast inte korrekt. Windows-baserade textläsarprogram (som Notepad) kanske inte kan visa texten. I de flesta fall, när du öppnar textfilen, visas alla orden på en enda jätte linje utan några raster. Detta beror på att det finns en liten skillnad i hur ett textdokument skrivs (och läses) på Windows och UNIX.

Om en fil skrevs på ett Windows-baserat system och öppnas av en textredigerare på ett UNIX-system, är det mycket vanligt att "Ctrl-M" -tecknen (^ M) visas i slutet av varje textrad. Om en fil skrevs på ett UNIX-system och öppnades av en textredigerare på ett Windows-system, visas kanske inte raden för raderingsbrytning (EOL) korrekt. Vagnens returkaraktär är också olika för både UNIX och Windows.

När du hanterar filer vill du inte vara begränsad av om filen skapades på Linux eller Windows. Så hur konverterar du en fil från UNIX till Windows (eller vice versa) utan att formateringen blir galen? Vi går igenom stegen.

Konvertera filer från Linux / UNIX-format till Windows Format

Om du använder ett UNIX-baserat system för att överföra filerna till ett Windows-system finns det några kommandon som låter dig konvertera textfilen / filerna som du överför till ett format som Windows kan förstå.

Dos2unix och unix2dos kommandot

Du kan använda kommandoraden för att säkert konvertera filer från UNIX till Windows och vice versa. Om du vill konvertera en Windows textfil till en UNIX-textfil anger du det här:

 dos2unix windows.txt unix.txt 

Kommandot ovan konverterar och ersätter "windows.txt" -filen till "unix.txt". Om du vill konvertera en UNIX-textfil till en Windows-textfil anger du det här kommandot:

 unix2dos unix.txt windows.txt 

Ovanstående kommando kommer att konvertera en UNIX skapad textfil kallad "unix.txt" till en Windows-kompatibel textfil kallad "windows.txt".

Kommandot awk

Med kommandot awk kan du konvertera en fil från UNIX till Windows och vice versa. Om du vill konvertera en Windows-fil till en UNIX-fil anger du följande kommando:

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

Om du vill konvertera en UNIX-textfil kallad "unix.txt" till en Windows-textfil kallad "windows.txt" anger du följande kommando:

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

Tr-kommandot

tr kommandot (transliterat) kan användas för att ta bort vagnretur och karaktärerna "Ctrl-Z" från en Windows-fil. Detta kan bara göras om du konverterar en fil från Windows till UNIX. Kommandot kommer att skrivas enligt följande:

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

tr kommandot transliterar ett tecken med en annan. I det här fallet hjälper det dig att släppa onödiga tecken.

Använda den visuella redigeraren (Vi)

Om du använder Visual Editor för att visa en fil som skapats på ett Windows-system kan du ta bort vagnens returpersoner genom att skriva följande kommandorad:

 : 1, $ s / ^ M // g 

För att få datorn att mata in ^ M-tecknet måste du slå "Ctrl + v" och tryck sedan på Retur.

Använda filöverföringsprotokollsprogram

FTP-program (File Transfer Protocol) finns både för UNIX- och Windows-system. Om du behöver konvertera många filer från Windows till UNIX (eller omvänd), är det en bra idé att ladda ner ett FTP-program. Det finns många tillgängliga gratis på Internet. Hummingbird FTP är ett av de mer populära FTP-programmen där ute. Det är säkert och enkelt att använda.

De flesta FTP-program överför filer från UNIX till Windows i ASCII-format. Ibland måste du ange formatet för dig själv (om du använder kommandoradsbaserade FTP-program). För att göra det, skriv bara detta i kommandoraden:

 ascii 

Slutsats

Det enklaste sättet att konvertera en fil från ett UNIX-format till Windows (och tvärtom) är att använda ett FTP-program. Omvandlingskommandon är din nästa bästa satsning. Om du letar efter ytterligare kommandon som utför samma uppgift kan du söka efter perl och sed kommandon. Men kom ihåg att dessa kommandon kanske inte fungerar över alla system.