861 lines
34 KiB
Text
861 lines
34 KiB
Text
NAAM
|
|
dos2unix - omzetter van tekstbestandsindelingen, van DOS/Mac naar Unix
|
|
en vice versa
|
|
|
|
OVERZICHT
|
|
dos2unix [opties] [BESTAND ...] [-n INVOERBESTAND UITVOERBESTAND ...]
|
|
unix2dos [opties] [BESTAND ...] [-n INVOERBESTAND UITVOERBESTAND ...]
|
|
|
|
BESCHRIJVING
|
|
Het dos2unix-pakket bevat de toepassingen "dos2unix" en "unix2dos" om
|
|
platte tekstbestanden in DOS- of Mac-indeling naar Unix-indeling om te
|
|
zetten, en vice versa.
|
|
|
|
In DOS/Windows-tekstbestanden bestaat een regeleinde uit een combinatie
|
|
van twee tekens: een 'Carriage Return' (CR) gevolgd door een 'Line Feed'
|
|
(LF). In Unix-tekstbestanden bestaat een regeleinde uit één enkel
|
|
'Newline'-teken, dat gelijk is aan een DOS 'Line Feed'-teken (LF). In
|
|
Mac-tekstbestanden, van vóór Mac OS X, bestaan regeleindes uit één enkel
|
|
'Carriage Return'-teken. Mac OS X is op Unix gebaseerd en heeft dezelfde
|
|
regeleindes als Unix.
|
|
|
|
Naast regeleindes kan dos2unix ook de codering van bestanden
|
|
converteren. Enkele DOS-codetabellen kunnen omgezet worden naar Unix
|
|
Latin-1. En Windows Unicode-bestanden (UTF-16) kunnen omgezet worden
|
|
naar Unix Unicode-bestanden (UTF-8).
|
|
|
|
Binaire bestanden worden automatisch overgeslagen, behalve als de
|
|
omzetting geforceerd wordt.
|
|
|
|
Niet-reguliere bestanden, zoals mappen en FIFO's, worden automatisch
|
|
overgeslagen.
|
|
|
|
Symbolische koppelingen en hun doelen blijven standaard onaangeroerd.
|
|
Optioneel kunnen symbolische koppelingen worden vervangen, of de uitvoer
|
|
kan naar het doel van de symbolische koppeling worden geschreven. Op
|
|
Windows wordt het schrijven naar het doel van een symbolische koppeling
|
|
niet ondersteund.
|
|
|
|
dos2unix is gemodelleerd naar dos2unix op SunOS/Solaris, maar er is een
|
|
belangrijk verschil: deze versie van dos2unix voert standaard een
|
|
vervangende conversie uit (oud-bestand-modus) terwijl de oorspronkelijke
|
|
SunOS/Solaris-versie alleen de gepaarde conversie (nieuw-bestand-modus)
|
|
kent. Zie ook de opties "-o" en "-n". Een ander verschil is dat de
|
|
SunOS/Solaris-versie standaard een conversie in *iso*-modus doet terwijl
|
|
deze versie standaard *ascii*-modus gebruikt.
|
|
|
|
OPTIES
|
|
-- Alle volgende opties als bestandsnamen behandelen. Gebruik deze
|
|
optie als u een bestand wilt converteren waarvan de naam met een
|
|
streepje begint. Bijvoorbeeld, om een bestand genaamd "-foo" om te
|
|
zetten, gebruikt u de volgende opdracht:
|
|
|
|
dos2unix -- -foo
|
|
|
|
Of in nieuw-bestand-modus:
|
|
|
|
dos2unix -n -- -foo uit.txt
|
|
|
|
--allow-chown
|
|
Wijziging van bestandseigenaar toestaan in oud-bestand-modus.
|
|
|
|
Wanneer deze optie gebruikt wordt, zal de omzetting niet afgebroken
|
|
worden wanneer het gebruikers- en/of groepseigendomsrecht van het
|
|
originele bestand niet behouden kan worden in oud-bestand-modus.
|
|
Omzetting zal doorgaan en het omgezette bestand krijgt dezelfde
|
|
eigendomsrechten alsof het was omgezet in nieuw-bestand-modus. Zie
|
|
ook opties "-o" en "-n". Deze optie is alleen beschikbaar als
|
|
dos2unix ondersteuning heeft voor het behouden van gebruikers- en
|
|
groepseigendomsrechten van bestanden.
|
|
|
|
-ascii
|
|
Standaard conversiemodus. Zie ook de sectie CONVERSIEMODI.
|
|
|
|
-iso
|
|
Conversie tussen de tekensets DOS en ISO-8859-1. Zie ook de sectie
|
|
CONVERSIEMODI.
|
|
|
|
-1252
|
|
Windows-codetabel 1252 (West-Europees) gebruiken.
|
|
|
|
-437
|
|
DOS-codetabel 437 (VS) gebruiken. Dit is de standaard codetabel die
|
|
gebruikt wordt bij ISO-conversie.
|
|
|
|
-850
|
|
DOS-codetabel 850 (West-Europees) gebruiken.
|
|
|
|
-860
|
|
DOS-codetabel 860 (Portugees) gebruiken.
|
|
|
|
-863
|
|
DOS-codetabel 863 (Canadees Frans) gebruiken.
|
|
|
|
-865
|
|
DOS-codetabel 865 (Scandinavisch) gebruiken.
|
|
|
|
-7 Lettertekens met het achtste bit gezet omzetten naar spaties.
|
|
|
|
-b, --keep-bom
|
|
Een Byte-Order-Mark (BOM) behouden. Als het invoerbestand een BOM
|
|
bevat, dan wordt ook een BOM naar het uitvoerbestand geschreven. Dit
|
|
is het standaardgedrag bij conversie naar DOS. Zie ook optie "-r".
|
|
|
|
-c, --convmode CONVERSIEMODUS
|
|
De te gebruiken conversiemodus. CONVERSIEMODUS kan zijn: *ascii*,
|
|
*7bit*, *iso*, of *mac*, waarbij ascii de standaardinstelling is.
|
|
|
|
-D, --display-enc CODERING
|
|
De te gebruiken tekencodering voor weergegeven tekst. CODERING kan
|
|
zijn: *ansi*, *unicode*, *unicodebom*, *utf8*, of *utf8bom*, waarbij
|
|
ansi de standaardinstelling is.
|
|
|
|
Deze optie is alleen beschikbaar in dos2unix voor Windows met
|
|
Unicode-bestandsnaam-ondersteuning. Deze optie heeft geen effect op
|
|
de gelezen en geschreven bestandsnamen, maar alleen op hoe deze
|
|
weergegeven worden.
|
|
|
|
Er zijn verscheidene methoden om tekst weer te geven in een
|
|
Windows-console gebaseerd op de codering van de tekst. Ze hebben
|
|
allemaal hun eigen voor- en nadelen.
|
|
|
|
ansi
|
|
dos2unix gebruikt standaard ANSI-gecodeerde tekst. Het voordeel
|
|
hiervan is dat het achterwaarts compatibel is. Het werkt met
|
|
raster- en TrueType-lettertypen. In sommige regio's moet je de
|
|
actieve DOS OEM-codepagina veranderen in de Windows systeem
|
|
ANSI-codepagina met het "chcp" commando, omdat dos2unix de
|
|
Windows systeem-codepagina gebruikt.
|
|
|
|
Het nadeel van ANSI is dat internationale bestandsnamen met
|
|
letters buiten de standaard systeem-codepagina niet goed worden
|
|
weergegeven. U ziet in plaats daarvan een vraagteken of een
|
|
verkeerd symbool. Wanneer u niet werkt met buitenlands
|
|
bestandsnamen is de methode oké.
|
|
|
|
unicode, unicodebom
|
|
Het voordeel van unicode (de Windows-naam voor UTF-16) codering
|
|
is dat tekst meestal goed wordt weergegeven. Het is niet nodig
|
|
om de actieve codepagina te wijzigen. Het kan nodig zijn om het
|
|
lettertype van de console in te stellen op een
|
|
TrueType-lettertype om internationale tekens goed weer te geven.
|
|
Als een teken niet in het TrueType-lettertype is opgenomen, zie
|
|
je meestal een klein vierkantje, soms met een vraagteken erin.
|
|
|
|
Wanneer je de ConEmu-console gebruikt wordt alle tekst goed
|
|
weergegeven, omdat ConEmu automatisch een goed lettertype
|
|
selecteert.
|
|
|
|
Het nadeel van unicode is dat het niet compatibel is met ASCII.
|
|
De uitvoer is niet eenvoudig te verwerken als je deze doorstuurt
|
|
naar een ander programma.
|
|
|
|
Wanneer methode "unicodebom" wordt gebruikt, wordt de
|
|
Unicode-tekst voorafgegaan door een BOM (Byte Order Mark). Een
|
|
BOM is vereist voor correcte omleiding of piping in PowerShell.
|
|
|
|
utf8, utf8bom
|
|
Het voordeel van utf8 is dat het compatibel is met ASCII. Je
|
|
moet het lettertype van de console instellen op een
|
|
TrueType-lettertype. Met een TrueType-lettertype wordt de tekst
|
|
hetzelfde weergegeven als met de "unicode"-codering.
|
|
|
|
Het nadeel is dat wanneer je het standaard raster-lettertype
|
|
gebruikt alle niet-ASCII letters verkeerd worden weergegeven.
|
|
Niet alleen unicode bestandsnamen, maar ook vertaalde berichten
|
|
worden onleesbaar. Op Windows, ingesteld voor een
|
|
Oost-Aziatische regio, is het mogelijk dat je veel flikkering in
|
|
de console ziet wanneer de berichten weergegeven worden.
|
|
|
|
In een ConEmu-console werkt de utf8-codering goed.
|
|
|
|
Wanneer methode "utf8bom" wordt gebruikt, wordt de UTF-8-tekst
|
|
voorafgegaan door een BOM (Byte Order Mark). Een BOM is vereist
|
|
voor correcte omleiding of piping in PowerShell.
|
|
|
|
De standaard codering can gewijzigd worden met omgevingsvariabele
|
|
DOS2UNIX_DISPLAY_ENC, door deze in te stellen op "unicode",
|
|
"unicodebom", "utf8", of "utf8bom".
|
|
|
|
-e, --add-eol
|
|
Een regeleinde toevoegen aan de laatste regel als er nog geen is.
|
|
Dit werkt voor alle conversies.
|
|
|
|
Een bestand dat is geconverteerd van DOS- naar Unix-indeling kan een
|
|
regeleinde op de laatste regel missen. Er zijn tekstbewerkers die
|
|
tekstbestanden schrijven zonder een regeleinde op de laatste regel.
|
|
Sommige Unix-programma's hebben problemen met het verwerken van deze
|
|
bestanden, omdat de POSIX-standaard definieert dat elke regel in een
|
|
tekstbestand moet eindigen met een afsluitend regeleindeteken. Het
|
|
samenvoegen van bestanden kan bijvoorbeeld niet het verwachte
|
|
resultaat opleveren.
|
|
|
|
--error-binary
|
|
Een fout rapporteren wanneer een binair bestand wordt overgeslagen.
|
|
|
|
-f, --force
|
|
Conversie van binaire bestanden afdwingen.
|
|
|
|
-gb, --gb18030
|
|
Op Windows worden UTF-16-bestanden standaard naar UTF-8
|
|
geconverteerd, ongeacht de ingestelde taalregio. Gebruik deze optie
|
|
om UTF-16-bestanden naar GB18030 te converteren. Deze optie is
|
|
alleen beschikbaar op Windows. Zie ook de sectie GB18030.
|
|
|
|
-h, --help
|
|
Een hulptekst tonen.
|
|
|
|
-i[VLAGGEN], --info[=VLAGGEN] BESTAND ...
|
|
Bestandsinformatie tonen. Er wordt niets geconverteerd.
|
|
|
|
De volgende informatie wordt weergegeven, in deze volgorde: het
|
|
aantal DOS-regeleindes, het aantal Unix-regeleindes, het aantal
|
|
Mac-regeleindes, de Byte-Order-Mark, of het een tekst- of binair
|
|
bestand is, en de bestandsnaam.
|
|
|
|
Voorbeelduitvoer:
|
|
|
|
6 0 0 no_bom text dos.txt
|
|
0 6 0 no_bom text unix.txt
|
|
0 0 6 no_bom text mac.txt
|
|
6 6 6 no_bom text mixed.txt
|
|
50 0 0 UTF-16LE text utf16le.txt
|
|
0 50 0 no_bom text utf8unix.txt
|
|
50 0 0 UTF-8 text utf8dos.txt
|
|
2 418 219 no_bom binary dos2unix.exe
|
|
|
|
Merk op dat een binair bestand soms voor een tekstbestand aangezien
|
|
kan worden. Zie ook optie "-s".
|
|
|
|
Als daarnaast optie "-e" of "--add-eol" wordt gebruikt, wordt ook
|
|
het type regeleinde van de laatste regel afgedrukt, of "noeol" als
|
|
er geen is.
|
|
|
|
Voorbeelduitvoer:
|
|
|
|
6 0 0 no_bom text dos dos.txt
|
|
0 6 0 no_bom text unix unix.txt
|
|
0 0 6 no_bom text mac mac.txt
|
|
1 0 0 no_bom text noeol noeol_dos.txt
|
|
|
|
Bij de optie kunnen één of meer vlaggen meegegeven worden om de
|
|
uitvoer te beperken.
|
|
|
|
0 De bestandsinformatieregels afdrukken gevolgd door een null-byte
|
|
in plaats van een regeleindeteken. Dit maakt correcte
|
|
interpretatie van bestandsnamen met spaties of aanhalingstekens
|
|
mogelijk wanneer vlag c wordt gebruikt. Gebruik deze vlag in
|
|
combinatie met xargs(1) optie -0 of "--null".
|
|
|
|
d Het aantal DOS-regeleindes tonen.
|
|
|
|
u Het aantal Unix-regeleindes tonen.
|
|
|
|
m Het aantal Mac-regeleindes tonen.
|
|
|
|
b De Byte-Order-Mark tonen.
|
|
|
|
t Tonen of het bestand tekst is of binair.
|
|
|
|
e Het type van het regeleinde van de laatste regel afdrukken, of
|
|
"noeol" als er geen regeleinde is.
|
|
|
|
c Alleen de namen tonen van de bestanden die geconverteerd zouden
|
|
worden.
|
|
|
|
Met de vlag "c" toont dos2unix alleen de bestanden die
|
|
DOS-regeleindes bevatten, en unix2dos alleen de bestanden die
|
|
Unix-regeleindes bevatten.
|
|
|
|
Als daarnaast optie "-e" of "--add-eol" wordt gebruikt, worden
|
|
ook de bestanden afgedrukt waarbij de laatste regel geen
|
|
regeleinde heeft.
|
|
|
|
h Een kopregel printen.
|
|
|
|
p Bestandsnamen tonen zonder pad.
|
|
|
|
Voorbeelden:
|
|
|
|
Informatie weergeven voor alle bestanden met de extensie 'txt':
|
|
|
|
dos2unix -i *.txt
|
|
|
|
Alleen de aantallen DOS-regeleindes en Unix-regeleindes tonen:
|
|
|
|
dos2unix -idu *.txt
|
|
|
|
Alleen de Byte-Order-Mark tonen:
|
|
|
|
dos2unix --info=b *.txt
|
|
|
|
De bestanden opsommen die DOS-regeleindes bevatten:
|
|
|
|
dos2unix -ic *.txt
|
|
|
|
De bestanden opsommen die Unix-regeleindes bevatten:
|
|
|
|
unix2dos -ic *.txt
|
|
|
|
De bestanden opsommen met DOS-regeleindes of met een ontbrekend
|
|
regeleinde op de laatste regel:
|
|
|
|
dos2unix -e -ic *.txt
|
|
|
|
Alleen bestanden die DOS-regeleindes bevatten converteren en andere
|
|
bestanden ongemoeid laten:
|
|
|
|
dos2unix -ic0 *.txt | xargs -0 dos2unix
|
|
|
|
De bestanden vinden die DOS-regeleindes bevatten:
|
|
|
|
find -name '*.txt' -print0 | xargs -0 dos2unix -ic
|
|
|
|
-k, --keepdate
|
|
Het tijdsstempel van het invoerbestand behouden voor het
|
|
uitvoerbestand.
|
|
|
|
-L, --license
|
|
De softwarelicentie tonen.
|
|
|
|
-l, --newline
|
|
Een extra regeleinde toevoegen.
|
|
|
|
dos2unix: Alleen DOS-regeleindes worden omgezet naar twee
|
|
Unix-regeleindes. In Mac-modus worden alleen Mac-regeleindes omgezet
|
|
naar twee Unix-regeleindes.
|
|
|
|
unix2dos: Alleen Unix-regeleindes worden omgezet naar twee
|
|
DOS-regeleindes. In Mac-modus worden Unix-regeleindes omgezet naar
|
|
twee Mac-regeleindes.
|
|
|
|
-m, --add-bom
|
|
Een Byte-Order-Mark (BOM) naar het uitvoerbestand schrijven.
|
|
Standaard wordt een UTF-8-BOM geschreven.
|
|
|
|
Als het invoerbestand in UTF-16 is, en de optie "-u" is gegeven, dan
|
|
wordt een UTF-16-BOM geschreven.
|
|
|
|
Gebruik deze optie nooit als de codering van het uitvoerbestand niet
|
|
UTF-8, UTF-16, of GB18030 is. Zie ook de sectie UNICODE.
|
|
|
|
-n, --newfile INVOERBESTAND UITVOERBESTAND ...
|
|
Nieuw-bestand-modus. Het bestand INVOERBESTAND converteren en naar
|
|
bestand UITVOERBESTAND schrijven. Bestandsnamen moeten opgegeven
|
|
worden in paren. Jokertekens moeten *niet*gebruikt worden, anders
|
|
*verlies* je de bestanden.
|
|
|
|
De gebruiker die de conversie start in nieuw-bestand (gepaarde)
|
|
modus wordt de eigenaar van het geconverteerde bestand. De
|
|
lees/schrijf-toegangsrechten van het nieuwe bestand worden de
|
|
toegangsrechten van het originele bestand minus de umask(1) van de
|
|
gebruiker die de conversie draait.
|
|
|
|
--no-allow-chown
|
|
Wijziging van bestandseigenaar niet toestaan in oud-bestand-modus
|
|
(standaard).
|
|
|
|
Conversie afbreken wanneer het gebruikers- en/of
|
|
groepseigendomsrecht van het originele bestand niet behouden kan
|
|
worden in de oud-bestand-modus. Zie ook opties "-o" en "-n". Deze
|
|
optie is alleen beschikbaar als dos2unix ondersteuning heeft voor
|
|
het behouden van het gebruikers- en groepseigendomsrechten van
|
|
bestanden.
|
|
|
|
--no-add-eol
|
|
Geen regeleinde toevoegen aan de laatste regel als er geen is
|
|
(standaard).
|
|
|
|
--no-error-binary
|
|
Geen fout rapporteren wanneer een binair bestand wordt overgeslagen
|
|
(standaard).
|
|
|
|
-O, --to-stdout
|
|
Naar standaarduitvoer schrijven, zoals een Unix-filter. Gebruik
|
|
optie "-o" om terug te gaan naar de oud-bestand-modus (vervangend).
|
|
|
|
Gecombineerd met optie "-e" kunnen bestanden correct worden
|
|
samengevoegd. Geen samengevoegde laatste en eerste regels, en geen
|
|
Unicode Byte-Order-Marks in het midden van het samengevoegde
|
|
bestand. Voorbeeld:
|
|
|
|
dos2unix -e -O bestand1.txt bestand2.txt > uit.txt
|
|
|
|
-o, --oldfile BESTAND ...
|
|
Oud-bestand-modus. Het bestand BESTAND converteren en overschrijven.
|
|
Dit is de standaard modus. Jokertekens kunnen gebruikt worden.
|
|
|
|
In oud-bestand (vervangende) modus krijgt het geconverteerde bestand
|
|
dezelfde eigenaar, groep en lees/schrijf-rechten als het originele
|
|
bestand. Ook wanneer het bestand wordt omgezet door een andere
|
|
gebruiker die schrijfrechten heeft op het bestand (b.v. gebruiker
|
|
root). De omzetting wordt afgebroken wanneer het niet mogelijk is de
|
|
originele waardes te behouden. Verandering van eigenaar kan
|
|
betekenen dat de originele eigenaar het bestand niet meer kan lezen.
|
|
Verandering van groep zou een veiligheidsrisico kunnen zijn, het
|
|
bestand zou leesbaar kunnen worden voor personen voor wie het niet
|
|
bestemd is. Behoud van eigenaar, groep en lees/schrijf-rechten wordt
|
|
alleen ondersteund op Unix.
|
|
|
|
Om te controleren of dos2unix ondersteuning heeft voor het behouden
|
|
van de gebruiker en de groep van bestanden, typt u "dos2unix -V".
|
|
|
|
Conversie wordt altijd uitgevoerd via een tijdelijk bestand. Wanneer
|
|
er halverwege de conversie een fout optreedt, wordt het tijdelijke
|
|
bestand verwijderd en blijft het originele bestand intact. Wanneer
|
|
de conversie succesvol is, wordt het originele bestand vervangen
|
|
door het tijdelijke bestand. U hebt mogelijk schrijfrechten op het
|
|
originele bestand, maar geen rechten om dezelfde gebruikers- en/of
|
|
groepseigendomseigenschappen op het tijdelijke bestand te plaatsen
|
|
als het originele bestand. Dit betekent dat u de gebruikers- en/of
|
|
groepseigendom van het originele bestand niet kunt behouden. In dit
|
|
geval kunt u optie "--allow-chown" gebruiken om door te gaan met de
|
|
conversie:
|
|
|
|
dos2unix --allow-chown foo.txt
|
|
|
|
Een andere mogelijkheid is het gebruiken van nieuw-bestand-modus:
|
|
|
|
dos2unix -n foo.txt foo.txt
|
|
|
|
Het voordeel van optie "--allow-chown" is dat u jokertekens kunt
|
|
gebruiken, en dat dan de eigenaarseigenschappen waar mogelijk
|
|
behouden zullen blijven.
|
|
|
|
-q, --quiet
|
|
Stille werking. Alle waarschuwingen onderdrukken. De afsluitwaarde
|
|
is nul, behalve wanneer verkeerde opties worden gegeven.
|
|
|
|
-r, --remove-bom
|
|
Een Byte-Order-Mark (BOM) verwijderen. Er wordt geen BOM naar het
|
|
uitvoerbestand geschreven. Dit is het standaardgedrag bij conversie
|
|
naar Unix. Zie ook optie "-b".
|
|
|
|
-s, --safe
|
|
Binaire bestanden overslaan (standaard).
|
|
|
|
Binaire bestanden worden overgeslagen om vergissingen te voorkomen.
|
|
Het detecteren van binaire bestanden is echter niet 100%
|
|
betrouwbaar. Invoerbestanden worden gescand op binaire tekens die
|
|
gewoonlijk niet in tekstbestanden voorkomen. Maar het is mogelijk
|
|
dat een binair bestand enkel normale teksttekens bevat. Zo'n binair
|
|
bestand zal dan foutief als een tekstbestand gezien worden.
|
|
|
|
Standaard wordt geen fout gerapporteerd als een binair bestand wordt
|
|
overgeslagen. Hiervoor wordt alleen een fout gerapporteerd wanneer
|
|
optie "--error-binary" gegeven is.
|
|
|
|
-u, --keep-utf16
|
|
Keep the original UTF-16 encoding of the input file. The output file
|
|
will be written in the same UTF-16 encoding, little- or big-endian,
|
|
as the input file. This prevents transformation to UTF-8. An UTF-16
|
|
BOM will be written accordingly. This option can be disabled with
|
|
the "-ascii" option.
|
|
|
|
-ul, --assume-utf16le
|
|
Veronderstellen dat de indeling van het invoerbestand UTF-16LE is.
|
|
|
|
Wanneer het invoerbestand een Byte-Order-Mark (BOM) bevat, dan gaat
|
|
deze BOM vóór deze optie.
|
|
|
|
Wanneer een verkeerde aanname is gemaakt (het invoerbestand was geen
|
|
UTF-16LE) en de conversie verliep met succes, dan krijgt u een
|
|
UTF-8-bestand met verkeerde tekst. De verkeerde conversie kan
|
|
ongedaan worden gemaakt door met iconv(1) het UTF-8-uitvoerbestand
|
|
terug om te zetten naar UTF-16LE. Dit zal het originele bestand
|
|
terug brengen.
|
|
|
|
De aanname van UTF-16LE werkt als een *conversiemodus*. Door de
|
|
standaardmodus *ascii* in te schakelen wordt de
|
|
UTF-16LE-veronderstelling uitgeschakeld.
|
|
|
|
-ub, --assume-utf16be
|
|
Veronderstellen dat de indeling van het invoerbestand UTF-16BE is.
|
|
|
|
Deze optie werkt hetzelfde als optie "-ul".
|
|
|
|
-v, --verbose
|
|
Extra meldingen weergeven. Er wordt extra informatie getoond over
|
|
Byte-Order-Marks en het aantal geconverteerde regeleindes.
|
|
|
|
-F, --follow-symlink
|
|
Symbolische koppelingen volgen en de doelen converteren.
|
|
|
|
-R, --replace-symlink
|
|
Symbolische koppelingen vervangen door geconverteerde bestanden (de
|
|
originele doelbestanden blijven ongewijzigd).
|
|
|
|
-S, --skip-symlink
|
|
Symbolische koppelingen en doelen ongewijzigd laten (standaard).
|
|
|
|
-V, --version
|
|
Versie-informatie tonen.
|
|
|
|
MAC-MODUS
|
|
Standaard worden regeleindes geconverteerd van DOS naar Unix en vice
|
|
versa. Mac-regeleindes worden niet omgezet.
|
|
|
|
In Mac-modus worden Mac-regeleindes naar Unix omgezet en vice versa.
|
|
DOS-regeleindes blijven ongewijzigd.
|
|
|
|
Om in Mac-modus te draaien kunt u de opdrachtregeloptie "-c mac"
|
|
gebruiken, of de opdrachten "mac2unix" of "unix2mac".
|
|
|
|
CONVERSIEMODI
|
|
ascii
|
|
Dit is de standaard conversiemodus. Deze modus is voor het
|
|
converteren van ASCII en ASCII-compatibele gecodeerde bestanden,
|
|
zoals UTF-8. Het inschakelen van de ascii-modus schakelt de 7bit- en
|
|
iso-modus uit.
|
|
|
|
Als dos2unix UTF-16-ondersteuning heeft, worden UTF-16-gecodeerde
|
|
bestanden geconverteerd naar de tekencodering van de ingestelde
|
|
taalregio op POSIX-systemen en naar UTF-8 op Windows. Als u de
|
|
ascii-modus inschakelt, worden de optie om UTF-16-codering te
|
|
behouden ("-u") en de opties om UTF-16-invoer aan te nemen ("-ul" en
|
|
"-ub") uitgeschakeld. Om te zien of dos2unix UTF-16-ondersteuning
|
|
heeft, typt u "dos2unix -V". Zie ook de sectie UNICODE.
|
|
|
|
7bit
|
|
Alle 8-bits niet-ASCII lettertekens (met waardes van 128 t/m 255)
|
|
worden omgezet naar een 7-bits spatie.
|
|
|
|
iso Tekens worden omgezet tussen een DOS-tekenset (codetabel) en de
|
|
ISO-tekenset ISO-8859-1 (Latin-1) op Unix. DOS-tekens zonder een
|
|
ISO-8859-1-equivalent, waarvoor dus geen omzetting mogelijk is,
|
|
worden omgezet in een punt. Hetzelfde geldt voor ISO-8859-1-tekens
|
|
zonder DOS-tegenhanger.
|
|
|
|
Wanneer alleen optie "-iso" gebruikt wordt, zal dos2unix proberen de
|
|
actieve codetabel te gebruiken. Als dat niet mogelijk is wordt
|
|
codetabel CP437 gebruikt, die vooral in de VS gebruikt wordt. Om een
|
|
bepaalde codetabel te forceren, kunt u de opties -850
|
|
(West-Europees), -860 (Portugees), -863 (Canadees Frans) of -865
|
|
(Scandinavisch) gebruiken. Windows-codetabel CP1252 (West-Europees)
|
|
wordt ook ondersteund met optie -1252. Gebruik voor andere
|
|
codetabellen dos2unix in combinatie met iconv(1). Iconv kan omzetten
|
|
tussen een lange lijst tekensetcoderingen.
|
|
|
|
Gebruik ISO-conversie nooit op Unicode-tekstbestanden. Het zal
|
|
UTF-8-gecodeerde bestanden beschadigen.
|
|
|
|
Enkele voorbeelden:
|
|
|
|
Omzetten van de standaard DOS-codetabel naar Unix Latin-1:
|
|
|
|
dos2unix -iso -n in.txt uit.txt
|
|
|
|
Omzetten van DOS CP850 naar Unix Latin-1:
|
|
|
|
dos2unix -850 -n in.txt uit.txt
|
|
|
|
Omzetten van Windows CP1252 naar Unix Latin-1:
|
|
|
|
dos2unix -1252 -n in.txt uit.txt
|
|
|
|
Omzetten van Windows CP1252 naar Unix UTF-8 (Unicode):
|
|
|
|
iconv -f CP1252 -t UTF-8 in.txt | dos2unix > uit.txt
|
|
|
|
Omzetten van Unix Latin-1 naar de standaard DOS-codetabel:
|
|
|
|
unix2dos -iso -n in.txt uit.txt
|
|
|
|
Omzetten van Unix Latin-1 naar DOS CP850:
|
|
|
|
unix2dos -850 -n in.txt uit.txt
|
|
|
|
Omzetten van Unix Latin-1 naar Windows CP1252:
|
|
|
|
unix2dos -1252 -n in.txt uit.txt
|
|
|
|
Omzetten van Unix UTF-8 (Unicode) naar Windows CP1252:
|
|
|
|
unix2dos < in.txt | iconv -f UTF-8 -t CP1252 > uit.txt
|
|
|
|
See also <https://czyborra.com/charsets/codepages.html> and
|
|
<https://czyborra.com/charsets/iso8859.html>.
|
|
|
|
UNICODE
|
|
Coderingen
|
|
There exist different Unicode encodings. On Unix and Linux Unicode files
|
|
are typically encoded in UTF-8 encoding. On Windows Unicode text files
|
|
can be encoded in UTF-8, UTF-16, or UTF-16 big-endian, but are mostly
|
|
encoded in UTF-16 format.
|
|
|
|
Conversie
|
|
Unicode-tekstbestanden kunnen DOS-, Unix- of Mac-regeleindes hebben, net
|
|
als ASCII-tekstbestanden.
|
|
|
|
Alle versies van dos2unix en unix2dos kunnen UTF-8-gecodeerde bestanden
|
|
omzetten, want UTF-8 is ontworpen op compatibiliteit met ASCII.
|
|
|
|
dos2unix and unix2dos with Unicode UTF-16 support, can read little- and
|
|
big-endian UTF-16 encoded text files. To see if dos2unix was built with
|
|
UTF-16 support type "dos2unix -V".
|
|
|
|
Op Unix/Linux worden UTF-16-bestanden geconverteerd naar de codering van
|
|
de ingestelde taalregio. Gebruik de opdracht locale(1) om te zien wat de
|
|
ingestelde codering is. Wanneer conversie niet mogelijk is, treedt er
|
|
een fout op en wordt het bestand overgeslagen.
|
|
|
|
Op Windows worden UTF-16-bestanden standaard naar UTF-8 geconverteerd.
|
|
UTF-8-tekstbestanden worden alom goed ondersteund, zowel op Windows als
|
|
Unix/Linux.
|
|
|
|
De UTF-16- en UTF-8-coderingen zijn volledig compatibel, er gaat bij het
|
|
converteren niets verloren. Als er tijdens de conversie van UTF-16 naar
|
|
UTF-8 een fout optreedt, bijvoorbeeld omdat het UTF-16-invoerbestand een
|
|
fout bevat, dan wordt het bestand overgeslagen.
|
|
|
|
Wanneer "-u" gebruikt wordt, wordt het uitvoerbestand in dezelfde
|
|
UTF-16-codering geschreven als het invoerbestand. Optie "-u" voorkomt
|
|
conversie naar UTF-8.
|
|
|
|
dos2unix en unix2dos hebben geen optie om van UTF-8 naar UTF-16 te
|
|
converteren.
|
|
|
|
ISO- en 7-bits-conversie werken niet op UTF-16-bestanden.
|
|
|
|
Byte-Order-Mark
|
|
Op Windows bevatten Unicode-tekstbestanden gewoonlijk een
|
|
Byte-Order-Mark (BOM), omdat veel Windows-programma's (inclusief
|
|
Kladblok) standaard een BOM toevoegen. Zie ook
|
|
<https://en.wikipedia.org/wiki/Byte_order_mark>.
|
|
|
|
Op Unix hebben Unicode-tekstbestanden meestal geen BOM. Er wordt
|
|
aangenomen dat de codering van tekstbestanden gelijk is aan de
|
|
tekencodering van de ingestelde taalregio.
|
|
|
|
dos2unix kan alleen detecteren of een bestand in UTF-16-codering is als
|
|
het bestand een BOM bevat. Wanneer een UTF-16-bestand geen BOM heeft,
|
|
ziet dos2unix het bestand als een binair bestand.
|
|
|
|
Gebruik optie "-ul" of "-ub" om een UTF-16-bestand zonder BOM om te
|
|
zetten.
|
|
|
|
dos2unix schrijft standaard geen BOM in het uitvoerbestand. Met optie
|
|
"-b" schrijft dos2unix een BOM wanneer het invoerbestand een BOM bevat.
|
|
|
|
unix2dos schrijft standaard een BOM in het uitvoerbestand wanneer het
|
|
invoerbestand een BOM bevat. Gebruik optie "-r" om de BOM te
|
|
verwijderen.
|
|
|
|
dos2unix en unix2dos schrijven altijd een BOM wanneer optie "-m"
|
|
gebruikt wordt.
|
|
|
|
Unicode-bestandsnamen op Windows
|
|
dos2unix heeft optionele ondersteuning voor het lezen en schrijven van
|
|
Unicode-bestandsnamen in de Windows Opdrachtprompt. Dit betekent dat
|
|
dos2unix bestanden kan openen waarvan de naam tekens bevat die niet
|
|
voorkomen in de standaard ANSI-codetabel. Om te zien of dos2unix voor
|
|
Windows gecompileerd werd met ondersteuning voor Unicode-bestandsnamen,
|
|
typt u "dos2unix -V".
|
|
|
|
Er zijn enige problemen met het weergeven van Unicode-bestandsnamen in
|
|
een Windows-console; zie bij optie "-D", "--display-enc". De
|
|
bestandsnamen kunnen verkeerd weergegeven worden, maar de bestanden
|
|
zullen geschreven worden met de correcte naam.
|
|
|
|
Unicode-voorbeelden
|
|
Omzetten van Windows UTF-16 (met BOM) naar Unix UTF-8:
|
|
|
|
dos2unix -n in.txt uit.txt
|
|
|
|
Omzetten van Windows UTF-16LE (zonder BOM) naar Unix UTF-8:
|
|
|
|
dos2unix -ul -n in.txt uit.txt
|
|
|
|
Omzetten van Unix UTF-8 naar Windows UTF-8 met BOM:
|
|
|
|
unix2dos -m -n in.txt uit.txt
|
|
|
|
Omzetten van Unix UTF-8 naar Windows UTF-16:
|
|
|
|
unix2dos < in.txt | iconv -f UTF-8 -t UTF-16 > uit.txt
|
|
|
|
GB18030
|
|
GB18030 is een standaard van de Chinese overheid. Een subset van de
|
|
GB18030-standaard is officieel verplicht voor alle softwareproducten die
|
|
in China verkocht worden. Zie ook
|
|
<https://en.wikipedia.org/wiki/GB_18030>.
|
|
|
|
GB18030 is volledig compatibel met Unicode, en kan als een
|
|
Unicodetransformatie beschouwd worden. Net als UTF-8 is GB18030
|
|
compatibel met ASCII. GB18030 is ook compatibel met Windows-codetabel
|
|
936 (ook wel GBK genoemd).
|
|
|
|
Op Unix/Linux worden UTF-16-bestanden naar GB18030 geconverteerd wanneer
|
|
de taalregio-codering GB18030 is. Merk op dat dit alleen werkt als deze
|
|
taalregio-instelling door het systeem ondersteund wordt. Gebruik het
|
|
commando "locale -a" voor een overzicht van de beschikbare taalregio's.
|
|
|
|
Op Windows dient u de optie "-gb" te gebruiken om UTF-16-bestanden naar
|
|
GB18030 te converteren.
|
|
|
|
GB18030-bestanden kunnen een Byte-Order-Mark bevatten, net als
|
|
Unicode-bestanden.
|
|
|
|
VOORBEELDEN
|
|
Invoer lezen van standaardinvoer en uitvoer schrijven naar
|
|
standaarduitvoer:
|
|
|
|
dos2unix < a.txt
|
|
cat a.txt | dos2unix
|
|
|
|
Omzetten en vervangen van a.txt; omzetten en vervangen van b.txt:
|
|
|
|
dos2unix a.txt b.txt
|
|
dos2unix -o a.txt b.txt
|
|
|
|
Omzetten en vervangen van a.txt in ascii-conversiemodus:
|
|
|
|
dos2unix a.txt
|
|
|
|
Omzetten en vervangen van a.txt in ascii-conversiemodus; omzetten en
|
|
vervangen van b.txt in 7-bits conversiemodus:
|
|
|
|
dos2unix a.txt -c 7bit b.txt
|
|
dos2unix -c ascii a.txt -c 7bit b.txt
|
|
dos2unix -ascii a.txt -7 b.txt
|
|
|
|
Omzetten van a.txt van Mac- naar Unix-indeling:
|
|
|
|
dos2unix -c mac a.txt
|
|
mac2unix a.txt
|
|
|
|
Omzetten van a.txt van Unix- naar Mac-indeling:
|
|
|
|
unix2dos -c mac a.txt
|
|
unix2mac a.txt
|
|
|
|
Omzetten en vervangen van a.txt met behoud van origineel tijdsstempel:
|
|
|
|
dos2unix -k a.txt
|
|
dos2unix -k -o a.txt
|
|
|
|
Omzetten van a.txt en resultaat naar e.txt schrijven:
|
|
|
|
dos2unix -n a.txt e.txt
|
|
|
|
Omzetten van a.txt en naar e.txt schrijven, met tijdsstempel van e.txt
|
|
gelijk aan die van a.txt:
|
|
|
|
dos2unix -k -n a.txt e.txt
|
|
|
|
Omzetten en vervangen van a.txt; omzetten van b.txt en naar e.txt
|
|
schrijven:
|
|
|
|
dos2unix a.txt -n b.txt e.txt
|
|
dos2unix -o a.txt -n b.txt e.txt
|
|
|
|
Omzetten van c.txt en naar e.txt schrijven; omzetten en vervangen van
|
|
a.txt; omzetten en vervangen van b.txt; omzetten van d.txt en naar f.txt
|
|
schrijven:
|
|
|
|
dos2unix -n c.txt e.txt -o a.txt b.txt -n d.txt f.txt
|
|
|
|
RECURSIEVE CONVERSIE
|
|
In een Unix-shell kunnen de find(1) en xargs(1) commando's gebruikt
|
|
worden om dos2unix recursief uit te voeren over alle tekstbestanden in
|
|
een mappenboomstructuur. Bijvoorbeeld om alle .txt-bestanden in de
|
|
mappenboomstructuur onder het huidige maptype te converteren:
|
|
|
|
find . -name '*.txt' -print0 | xargs -0 dos2unix
|
|
|
|
De find(1) optie "-print0" en de corresponderende xargs(1) optie -0 zijn
|
|
nodig als er bestanden zijn met spaties of aanhalingstekens in de naam.
|
|
Anders kunnen deze opties worden weggelaten. Een andere optie is om
|
|
find(1) te gebruiken met de "-exec" optie:
|
|
|
|
find . -name '*.txt' -exec dos2unix {} \;
|
|
|
|
In een Windows Opdrachtprompt kan de volgende opdracht gebruikt worden:
|
|
|
|
for /R %G in (*.txt) do dos2unix "%G"
|
|
|
|
PowerShell-gebruikers kunnen de volgende opdracht in Windows PowerShell
|
|
gebruiken:
|
|
|
|
get-childitem -path . -filter '*.txt' -recurse | foreach-object {dos2unix $_.Fullname}
|
|
|
|
LOKALISATIE
|
|
LANG
|
|
De primaire taal wordt geselecteerd via de omgevingsvariabele LANG.
|
|
De variabele LANG bestaat uit verschillende onderdelen. Het eerste
|
|
deel is in kleine letters de taalcode. Het tweede deel is optioneel
|
|
en is de landcode in hoofdletters, voorafgegaan door een liggend
|
|
streepje. Er is ook een optioneel derde deel: de tekencodering,
|
|
voorafgegaan door een punt. Enkele voorbeelden voor een POSIX-shell:
|
|
|
|
export LANG=nl Nederlands
|
|
export LANG=nl_NL Nederlands, Nederland
|
|
export LANG=nl_BE Nederlands, België
|
|
export LANG=es_ES Spaans, Spanje
|
|
export LANG=es_MX Spaans, Mexico
|
|
export LANG=en_US.iso88591 Engels, VS, Latin-1-codering
|
|
export LANG=en_GB.UTF-8 Engels, GB, UTF-8-codering
|
|
|
|
Voor een complete lijst van taal- en landcodes zie de
|
|
gettext-handleiding:
|
|
<https://www.gnu.org/software/gettext/manual/html_node/Usual-Languag
|
|
e-Codes.html>
|
|
|
|
Op Unix-systemen kunt u de opdracht locale(1) gebruiken om
|
|
specifieke taalregio-informatie te verkrijgen.
|
|
|
|
LANGUAGE
|
|
Met de omgevingsvariabele LANGUAGE kunt u een prioriteitenlijst
|
|
specificeren van talen, gescheiden door dubbele punten. dos2unix
|
|
geeft voorrang aan LANGUAGE boven LANG. Bijvoorbeeld, eerst
|
|
Nederlands en dan Duits: "LANGUAGE=nl:de". U moet eerst lokalisatie
|
|
in werking stellen, door het instellen van LANG (of LC_ALL) op een
|
|
waarde ongelijk aan "C", voordat u een talen-prioriteitenlijst kunt
|
|
gebruiken via de variabele LANGUAGE. Zie ook de gettext-handleiding:
|
|
<https://www.gnu.org/software/gettext/manual/html_node/The-LANGUAGE-
|
|
variable.html>
|
|
|
|
Als u een taal kiest die niet beschikbaar is, worden de standaard
|
|
Engelse berichten gebruikt.
|
|
|
|
DOS2UNIX_LOCALEDIR
|
|
Met de omgevingsvariabele DOS2UNIX_LOCALEDIR kan de LOCALEDIR die
|
|
ingesteld werd tijdens compilatie worden overstemd. LOCALEDIR wordt
|
|
gebruikt om de taalbestanden te vinden. De GNU standaardwaarde is
|
|
"/usr/local/share/locale". De optie --version laat de gebruikte
|
|
LOCALEDIR zien.
|
|
|
|
Voorbeeld (POSIX-shell):
|
|
|
|
export DOS2UNIX_LOCALEDIR=$HOME/share/locale
|
|
|
|
AFSLUITWAARDE
|
|
Bij succes wordt nul teruggegeven. Wanneer een systeemfout optreedt
|
|
wordt het laatste systeemfoutnummer teruggegeven. Bij andere fouten
|
|
wordt 1 teruggegeven.
|
|
|
|
De afsluitwaarde is altijd nul in de stillewerkingsmodus, behalve
|
|
wanneer verkeerde opties worden gegeven.
|
|
|
|
STANDAARDEN
|
|
<https://nl.wikipedia.org/wiki/Tekstbestand>
|
|
|
|
<https://nl.wikipedia.org/wiki/Carriage_Return>
|
|
|
|
<https://nl.wikipedia.org/wiki/Linefeed>
|
|
|
|
<https://nl.wikipedia.org/wiki/Unicode>
|
|
|
|
AUTEURS
|
|
Benjamin Lin - <blin@socs.uts.edu.au>, Bernd Johannes Wuebben
|
|
(mac2unix-modus) - <wuebben@kde.org>, Christian Wurll (toevoegen van
|
|
extra regeleindes) - <wurll@ira.uka.de>, Erwin Waterlander -
|
|
<waterlan@xs4all.nl> (beheerder)
|
|
|
|
Project page: <https://waterlander.net/dos2unix/>
|
|
|
|
SourceForge-pagina: <https://sourceforge.net/projects/dos2unix/>
|
|
|
|
ZIE OOK
|
|
file(1) find(1) iconv(1) locale(1) xargs(1)
|
|
|