Het Windows/DOS tekst file formaat verschilt van het Unix tekst formaat, Windows regels eindigen met een line feed en een carriage return. Unix kent alleen een Line feed. Open je een Windows tekst file in bv vi of een andere programma zie je soms het carriage return character Ctrl-m ( ^M ). Er zijn verschillende manieren om dit te converteren. hier onder een aantal standaard methode.
dos2unix en unix2dos
Er zijn 2 utilities waar je eenvoudig mee kan converteren, dos2unix and unix2dos echter staan deze niet standaard geïnstalleerd. zijn ze wel aanwezig op je systeem.
Van Windows/Dos naar unix
dos2unix windows.txt unix.txt
Van Unix naar Windows/Dos
unix2dos unix.txt windows.txt
AWK
Awk staat bijna overal wel op.
Van Windows/Dos naar unix
awk '{ sub("\r$", ""); print }' windows.txt > unix.txt
Van Unix naar Windows/Dos
awk 'sub("$", "\r")' unix.txt > windows.txt
Perl
Perl ook niet overal standaar op aanwezig maar wel vaak
Van Windows/Dos naar unix
perl -p -e 's/\r$//' < windows.txt > unix.txt
Van Unix naar Windows/Dos
perl -p -e 's/\n/\r\n/' < unix.txt > windows.txt
vi
In vi zijn er 2 methode je kan de de carriage return ( ^M ) verwijderen met zoek vervang
:1,$s/^M//g
en binnen vim op de meeste linux distro’s default maar op bv AIX en HP-ux niet default aanwezig is.
:set ff=unix to convert to Unix :set ff=dos to convert to Windows.
en save je file.
Recente reacties