DOS / UNIX converteren en omgekeerd
Intro
Hoewel er (dos2unix en unix2dos) hulpprogramma's zijn die deze taak kunnen uitvoeren, is hier een eenvoudige tip over het handmatig maken van deze functies.
Conversie van DOS naar UNIX / UNIX naar DOS
De tekstbestanden onder Unix eindigen hun regel met het symbool "\ n" (genaamd Line Feed en genoteerde LF, ASCII-code = 0A).
Tekstbestanden onder DOS door een "regel" eindigen hun regel met het symbool "\ r" (Carriage Return en CR genoemd, ASCII 0D).
Dus eindigt elke regel in een DOS-bestand met een CRLF-reeks of \ r \ n.
Conversie van DOS naar UNIX
Wis gewoon de "\ r" (carriage return) aan het einde van de regel.
De "\ r" wordt symbolisch weergegeven door "^ M", die wordt verkregen door de volgende reeks toetsen "CTRL-V" + "CTRL-M".
sed 's / ^ M $ //' bestand
Notitie:
Met de GNU-sed (gsed 3.02.80) -versie kunnen we de ASCII-notatie gebruiken:
sed 's / \ x0D $ //' bestand
Conversie van UNIX naar DOS
Doe gewoon het tegenovergestelde van de vorige opdracht, namelijk (de "^ M" wordt op dezelfde manier ingevoerd (CTRL-V + CTRL-M)):
sed 's / $ / ^ M /' bestand
Notitie:
Met de versie GNU-sed (gsed 3.02.80) kunnen we de symbolische notatie "\ r" gebruiken:
sed 's / $ / \ r /' bestand