2 dos2unix - Formatumwandlung für Textdateien von DOS/Mac nach Unix und
6 dos2unix [Optionen] [DATEI …] [-n EINGABEDATEI AUSGABEDATEI …]
7 unix2dos [Optionen] [DATEI …] [-n EINGABEDATEI AUSGABEDATEI …]
10 Das Paket Dos2unix enthält die Werkzeuge "dos2unix" und "unix2dos" zum
11 Umwandeln einfacher Textdateien aus dem DOS- oder Mac-Format in das
12 Unix-Format und umgekehrt.
14 In Textdateien unter DOS/Windows sind Zeilenumbrüche, auch als neue
15 Zeile (NL) bekannt, eine Kombination aus zwei Zeichen: einem
16 Wagenrücklauf (Carriage Return, CR) gefolgt von einem Zeilenvorschub
17 (Line Feed, LF). In Unix-Textdateien bestehen Zeilenumbrüche nur aus
18 einem Zeichen, dem Zeilenvorschub (LF). In Mac-Textdateien aus der Zeit
19 vor MacOSX bestand ein Zeilenumbruch aus einem einzelnen CR-Zeichen.
20 Heute verwendet Mac OS Zeilenumbrüche im Unix-Stil (LF).
22 Neben Zeilenumbrüchen kann Dos2unix auch die Zeichenkodierung von
23 Dateien umwandeln. Einige DOS-Codepages können in Unix Latin-1
24 umgewandelt werden, und Windows-Unicode-Dateien (UTF-16) können in
25 Unix-Unicode-Dateien (UTF-8) umgewandelt werden.
27 Binärdateien werden automatisch übersprungen, sofern die Umwandlung
30 Nicht-reguläre Dateien, wie Verzeichnisse und FIFOS (Weiterleitungen)
31 werden automatisch übersprungen.
33 Symbolische Links und deren Ziele werden per Vorgabe unverändert
34 belassen. Symbolische Links können optional ersetzt werden, oder die
35 Ausgabe wird in das Ziel des symbolischen Links geschrieben. Unter
36 Windows wird das Schreiben in das Ziele eines symbolischen Links nicht
39 Dos2unix wurde nach dem Vorbild der dos2unix-Version unter SunOS/Solaris
40 entwickelt, doch es gitb einen wesentlichen Unterschied zu: Diese
41 Version ersetzt per Vorgabe Dateien bei der Umwandlung
42 (Alte-Datei-Modus), während unter SunOS/Solaris nur die paarweise
43 Umwandlung (Neue-Datei-Modus) unterstützt wird. Siehe dazu die Optionen
47 -- nimmt alle folgenden Optionen als Dateinamen an. Verwenden Sie diese
48 Option, wenn Sie Dateien umwandeln wollen, deren Namen mit einem
49 Minuszeichen beginnen. Um beispielsweise eine Datei namens »-bla«
50 umzuwandeln, können Sie folgenden Befehl verwenden:
54 oder im Neue-Datei-Modus:
56 dos2unix -n -- -bla ausgabe.txt
59 wandelt nur Zeilenumbrüche um. Dies ist der vorgegebene
63 wandelt aus dem DOS- in den ISO-8859-1-Zeichensatz um. Weitere
64 Informationen hierzu finden Sie im Abschnitt UMWANDLUNGSMODI.
67 verwendet die Windows-Codepage 1252 (Westeuropäisch).
70 verwendet die DOS-Codepage 437 (US). Dies ist die vorgegebene
71 Codepage für die ISO-Umwandlung.
74 verwendet die DOS-Codepage 850 (Westeuropäisch).
77 verwendet die DOS-Codepage 860 (Portugiesisch).
80 verwendet die DOS-Codepage 863 (Kanadisches Französisch).
83 verwendet die DOS-Codepage 865 (Skandinavisch).
85 -7 wandelt 8bit-Zeichen in ein 7bit-Bitmuster um.
88 erhält die Markierung der Bytereihenfolge (BOM). Wenn die
89 Eingabedatei eine BOM enthält, wird ebenfalls eine BOM in die
90 Ausgabedatei geschrieben. Dies ist das Standardverhalten beim
91 Umwandeln von DOS-Zeilenumbrüchen. Siehe auch die Option "-r".
93 -c, --convmode UMWANDLUNGSMODUS
94 legt den Umwandlungsmodus fest. UMWANDLUNGSMODUS kann *ascii*,
95 *7bit*, *iso* oder *mac* sein, wobei *ascii* die Vorgabe ist.
98 erzwingt die Umwandlung von Binärdateien.
101 zeigt eine Hilfe an und beendet das Programm.
104 übernimmt den Zeitstempel der Eingabedatei in die Ausgabedatei.
107 zeigt die Lizenz des Programms an.
110 fügt eine zusätzliche neue Zeile hinzu.
112 dos2unix: Nur DOS-Zeilenumbrüche werden in Unix-Zeilenumbrüche
113 umgewandelt. Im Mac-Modus werden nur Mac-Zeilenumbrüche in
114 Unix-Zeilenumbrüche umgewandelt.
116 unix2dos: Nur Unix-Zeilenumbrüche werden in DOS-Zeilenumbrüche
117 umgewandelt. Im Mac-Modus werden nur Unix-Zeilenumbrüche in
118 Mac-Zeilenumbrüche umgewandelt.
121 schreibt eine UTF-Markierung der Bytereihenfolge in die
122 Ausgabedatei. Verwenden Sie diese Option niemals, wenn die Kodierung
123 der Ausgabedatei nicht UTF-8 ist. Weitere Informationen finden Sie
124 im Abschnitt UNICODE.
126 -n, --newfile EINGABEDATEI AUSGABEDATEI …
127 Neue-Datei-Modus. Die EINGABEDATEI wird umgewandelt und in die
128 AUSGABEDATEI geschrieben. Die Dateinamen müssen paarweise angegeben
129 werden. Platzhalter sollten *nicht* verwendet werden, sonst werden
130 Sie Ihre Dateien *verlieren*.
132 Der Benutzer, der die Umwandlung im Neue-Datei-Modus startet, wird
133 Besitzer der umgewandelten Datei. Die Lese- und Schreibrechte werden
134 aus den Zugriffsrechten der Originaldatei minus der umask(1) der
135 Person ermittelt, die die Umwandlung ausgeführt hat.
137 -o, --oldfile DATEI …
138 Alte-Datei-Modus. Die DATEI wird umgewandelt und durch die
139 Ausgabedatei überschrieben. Per Vorgabe werden Umwandlungen in
140 diesem Modus ausgeführt. Platzhalter sind verwendbar.
142 Im Alte-Datei-Modus (Ersetzungsmodus) erhalten die umgewandelten
143 Dateien den gleichen Eigentümer, die gleiche Gruppe und die gleichen
144 Lese- und Schreibberechtigungen wie die Originaldatei, auch wenn die
145 Datei von einem anderen Benutzer umgewandelt wird, der Schreibrechte
146 für die Datei hat (zum Beispiel der Systemadministrator). Die
147 Umwandlung wird abgebrochen, wenn es nicht möglich ist, die
148 originalen Werte beizubehalten. Die Änderung des Eigentümers könnte
149 zum Beispiel bewirken, dass der ursprüngliche Eigentümer die Datei
150 nicht mehr lesen kann. Die Änderung der Gruppe könnte ein
151 Sicherheitsrisiko sein, da die Datei vielleicht für Benutzer lesbar
152 wird, für die sie nicht bestimmt ist. Die Beibehaltung von
153 Eigentümer, Gruppe und Schreib- und Leserechten wird nur unter Unix
157 Stiller Modus, in dem alle Warnungen und sonstige Meldungen
158 unterdrückt werden. Der Rückgabewert ist 0, außer wenn fehlerhafte
159 Befehlszeilenoptionen angegeben werden.
162 entfernt die Markierung der Bytereihenfolge (BOM). Es wird keine BOM
163 in die Ausgabedatei geschrieben. Dies ist das Standardverhalten beim
164 Umwandeln von Unix-Zeilenumbrüchen. Siehe auch die Option "-b".
167 überspringt Binärdateien (Vorgabe).
169 -ul, --assume-utf16le
170 nimmt an, dass die Eingabedatei das Format UTF-16LE hat.
172 Wenn die Eingabedatei eine Markierung der Bytereihenfolge enthält
173 (BOM), dann hat die BOM Vorrang vor dieser Option.
175 Durch eine falsche Annahme (die Eingabedatei war nicht in UTF-16LE
176 kodiert) mit erfolgreicher Umwandlung erhalten Sie eine
177 UTF-8-Ausgabedatei mit fehlerhaftem Text. Sie können die
178 fehlgeschlagene Umwandlung mit iconv(1) rückgängig machen, indem Sie
179 die Rückumwandlung von UTF-8 nach UTF-16LE vornehmen. Dadurch
180 gewinnen Sie die Originaldatei zurück.
182 Die Annahme von UTF-16LE wirkt wie ein *Umwandlungsmodus*. Beim
183 Wechsel zum vorgegebenen *ascii*-Modus wird die UTF16LE-Annahme
186 -ub, --assume-utf16be
187 nimmt an, dass die Eingabedatei das Format UTF-16BE hat.
189 Diese Option ist gleichbedeutend mit "-ul".
192 folgt symbolischen Links und wandelt die Zieldateien um.
194 -R, --replace-symlink
195 ersetzt symbolische Links durch die umgewandelten Dateien (die
196 originalen Zieldateien bleiben unverändert).
199 erhält symbolische Links als solche und lässt die Ziele unverändert
203 zeigt Versionsinformationen an und beendet das Programm.
206 Im Normalmodus werden Zeilenumbrüche von DOS nach Unix und umgekehrt
207 umgewandelt. Mac-Zeilenumbrüche werden nicht verändert.
209 Im Mac-Modus werden Zeilenumbrüche von Mac nach Unix und umgekehrt
210 umgewandelt. DOS-Zeilenumbrüche werden nicht verändert.
212 Um das Programm im Mac-Modus auszuführen, verwenden Sie die
213 Befehlszeilenoption "-c mac" oder die Befehle "mac2unix" oder
218 Im "ascii"-Modus werden nur Zeilenumbrüche umgewandelt. Dies ist der
219 vorgegebene Umwandlungsmodus.
221 Obwohl der Name dieses Modus auf ASCII hinweist, welches ein
222 7-bit-Standard ist, bezieht sich der eigentliche Modus auf 8 Bit.
223 Verwenden Sie diesen Modus immer dann, wenn Sie Unicode-Dateien in
224 UTF-8-Kodierung umwandeln.
227 In diesem Modus werden alle Nicht-ASCII-Zeichen aus 8 Bit in das
228 7-Bit-Bitmuster umgewandelt.
230 iso Die Zeichen werden aus dem DOS-Zeichensatz (der Codepage) in den
231 ISO-Zeichensatz ISO-8859-1 (Latin-1) in Unix umgewandelt.
232 DOS-Zeichen ohne Äquivalent in ISO-8859-1, für die die Umwandlung
233 nicht möglich ist, werden durch einen Punkt ersetzt. Gleiches gilt
234 für ISO-8859-1-Zeichen ohne DOS-Gegenstück.
236 Wenn nur die Option "-iso" angegeben ist, versucht dos2unix die
237 aktive Codepage selbst zu ermitteln. Sollte dies nicht möglich sein,
238 wird die Standard-Codepage CP437 verwendet, welche hauptsächlich in
239 den USA eingesetzt wird. Um eine bestimmte Codepage zu erzwingen,
240 verwenden Sie die Optionen -437 (US), -850 (Westeuropäisch), -860
241 (Portugiesisch), -863 (Kanadisches Französisch) oder -865
242 (Skandinavisch). Die Windows-Codepage CP1252 (Westeuropäisch) wird
243 durch die Option -1252 unterstützt.
245 Wenden Sie niemals die ISO-Umwandlung auf Unicode-Textdateien an. In
246 UTF-8 kodierte Dateien werden dadurch beschädigt.
250 Umwandlung aus der vorgegebenen DOS-Codepage nach Unix Latin-1
252 dos2unix -iso -n in.txt ausgabe.txt
254 Umwandlung von DOS CP850 nach Unix Latin-1
256 dos2unix -850 -n eingabe.txt ausgabe.txt
258 Umwandlung von Windows CP1252 nach Unix Latin-1
260 dos2unix -1252 -n eingabe.txt ausgabe.txt
262 Umwandlung von Windows CP1252 nach Unix UTF-8 (Unicode)
264 iconv -f CP1252 -t UTF-8 eingabe.txt | dos2unix > ausgabe.txt
266 Umwandlung von Unix Latin-1 in die vorgegebene DOS-Codepage
268 unix2dos -iso -n eingabe.txt ausgabe.txt
270 Umwandlung von Unix Latin-1 nach DOS CP850
272 unix2dos -850 -n eingabe.txt ausgabe.txt
274 Umwandlung von Unix Latin-1 nach Windows CP1252
276 unix2dos -1252 -n eingabe.txt ausgabe.txt
278 Umwandlung von Unix UTF-8 (Unicode) nach Windows CP1252
280 unix2dos < eingabe.txt | iconv -f UTF-8 -t CP1252 > ausgabe.txt
282 Siehe auch <http://czyborra.com/charsets/codepages.html> und
283 <http://czyborra.com/charsets/iso8859.html>.
287 Es gibt verschiedene Unicode-Zeichenkodierungen. Unter Unix und Linux
288 sind Unicode-Dateien typischerweise in UTF-8 kodiert. Unter Windows
289 können Textdateien in UTF-8, UTF-16 oder UTF-16 in
290 Big-Endian-Bytereihenfolge kodiert sein, liegen aber meist im Format
294 Unicode-Textdateien können DOS-, Unix- oder Mac-Zeilenumbrüche
295 enthalten, so wie reguläre Textdateien.
297 Alle Versionen von dos2unix und unix2dos können UTF-8-kodierte Dateien
298 umwandeln, weil UTF-8 im Hinblick auf Abwärtskompatiblität mit ASCII
301 Dos2unix und unix2dos mit Unterstützung für UTF-16 können in UTF-16
302 kodierte Dateien in Little-Endian- und Big-Endian-Bytereihenfolge lesen.
303 Um festzustellen, ob dos2unix mit UTF-16-Unterstützung kompiliert wurde,
304 geben Sie "dos2unix -V" ein.
306 Die Windows-Versionen von dos2unix und unix2dos wandeln UTF-16-kodierte
307 Dateien stets in UTF-8-Dateien um. Die entsprechenden Unix-Versionen
308 wandeln UTF-16-kodierte Dateien in die lokale Zeichenkodierung um, falls
309 diese nicht auf UTF-8 gesetzt ist. Verwenden Sie den Befehl locale(1),
310 um die lokale Zeichenkodierung zu ermitteln.
312 Da in UTF-8 formatierte Textdateien sowohl unter Windows als auch unter
313 Unix gut unterstützt werden, haben dos2unix und unix2dos keine Option
314 zum Schreiben von UTF-16-Dateien. Alle UTF-16-Zeichen können verlustlos
315 in UTF-8 kodiert werden. UTF-16-Dateien werden unter Unix übersprungen,
316 wenn die lokale Zeichenkodierung nicht UTF-8 ist, um unbeabsichtigte
317 Verluste von Textteilen zu verhindern. Wenn eine Umwandlung von UTF-16
318 nach UTF-8 Fehlermeldungen verursacht, zum Beispiel die
319 UTF-16-Eingabedatei einen Fehler enthält, dann wird diese Datei
322 Umwandlungen im ISO- und 7bit-Modus funktionieren mit UTF-16-Dateien
325 Markierung der Bytereihenfolge
326 Unicode-Textdateien unter Windows haben typischerweise eine Markierung
327 der Bytereihenfolge (BOM), da viele Windows-Programme (zum Beispiel
328 Notepad) solche BOMs standardmäßig hinzufügen. Weitere Informationen
329 hierzu finden Sie auf <http://de.wikipedia.org/wiki/Byte-Reihenfolge>.
331 Unter Unix haben Textdateien üblicherweise keine BOM. Es wird
332 stattdessen angenommen, dass Textdateien in der Zeichenkodierung
333 entsprechend der Spracheinstellung vorliegen.
335 Dos2unix kann nur dann erkennen, ob eine Datei UTF-16-kodiert ist, wenn
336 die Datei eine BOM enthält. Ist dies nicht der Fall, nimmt dos2unix an,
337 dass es sich um eine Binärdatei handelt.
339 Verwenden Sie die Optionen "-ul" oder "-ub", um eine UTF-16-Datei ohne
342 Dos2unix schreibt in der Voreinstellung keine BOM in die Ausgabedatei.
343 Mit der Option "-b" schreibt Dos2unix eine BOM, wenn die Eingabedatei
344 ebenfalls eine BOM hat.
346 Unix2dos schreibt in der Voreinstellung eine BOM in die Ausgabedatei,
347 wenn die Eingabedatei ebenfalls eine solche Markierung hat. Verwenden
348 Sie die Option "-r", um die BOM zu entfernen.
350 Dos2unix und unix2dos schreiben immer eine BOM, wenn die Option "-m"
354 Umwandlung von Windows UTF-16 (mit BOM) nach Unix UTF-8
356 dos2unix -n eingabe.txt ausgabe.txt
358 Umwandlung von Windows UTF-16LE (ohne BOM) nach Unix UTF-8
360 dos2unix -ul -n eingabe.txt ausgabe.txt
362 Umwandlung von Unix UTF-8 nach Windows UTF-8 mit BOM
364 unix2dos -m -n eingabe.txt ausgabe.txt
366 Umwandlung von Unix UTF-8 nach Windows UTF-16
368 unix2dos < eingabe.txt | iconv -f UTF-8 -t UTF-16 > ausgabe.txt
371 Aus der Standardeingabe lesen und in die Standardausgabe schreiben:
376 a.txt umwandeln und ersetzen, b.txt umwandeln und ersetzen:
379 dos2unix -o a.txt b.txt
381 a.txt im ascii-Modus umwandeln und ersetzen:
385 a.txt im ascii-Modus umwandeln und ersetzen, b.txt im 7bit-Modus
386 umwandeln und ersetzen:
388 dos2unix a.txt -c 7bit b.txt
389 dos2unix -c ascii a.txt -c 7bit b.txt
390 dos2unix -ascii a.txt -7 b.txt
392 a.txt aus dem Mac- in das Unix-Format umwandeln:
394 dos2unix -c mac a.txt
397 a.txt aus dem Unix- in das Mac-Format umwandeln:
399 unix2dos -c mac a.txt
402 a.txt unter Beibehaltung des Zeitstempels umwandeln:
407 a.txt umwandeln und das Ergebnis nach e.txt schreiben:
409 dos2unix -n a.txt e.txt
411 a.txt umwandeln und das Ergebnis nach e.txt schreiben, wobei e.txt den
412 gleichen Zeitstempel erhält wie a.txt:
414 dos2unix -k -n a.txt e.txt
416 a.txt umwandeln und ersetzen, b.txt umwandeln und das Ergebnis nach
419 dos2unix a.txt -n b.txt e.txt
420 dos2unix -o a.txt -n b.txt e.txt
422 a.txt umwandeln und das Ergebnis nach e.txt schreiben, a.txt umwandeln
423 und ersetzen, b.txt umwandeln und ersetzen, d.txt umwandeln und das
424 Ergebnis nach f.txt schreiben:
426 dos2unix -n c.txt e.txt -o a.txt b.txt -n d.txt f.txt
429 Verwenden Sie dos2unix zusammen mit den Befehlen find(1) und xargs(1),
430 um Textdateien in einem Verzeichnisbaum rekursiv umzuwandeln. Um
431 beispielsweise alle *.txt-Dateien im aktuellen Verzeichnis und dessen
432 Unterverzeichnissen umzuwandeln, geben Sie Folgendes ein:
434 find . -name *.txt |xargs dos2unix
438 Die primäre Sprache wird durch die Umgebungsvariable LANG
439 festgelegt. Diese Variable besteht aus mehreren Teilen: Der erste
440 Teil besteht aus zwei Kleinbuchstaben, die den Sprachcode angeben.
441 Der zweite Teil ist optional und bezeichnet den Ländercode in
442 Großbuchstaben, vom davor stehenden Sprachcode durch einen
443 Unterstrich getrennt. Der dritte Teil ist ebenfalls optional und
444 gibt die Zeichenkodierung an, vom Ländercode durch einen Punkt
445 getrennt. Einige Beispiele für Standard-POSIX-Shells:
447 export LANG=de Deutsch
448 export LANG=de_DE Deutsch, Deutschland
449 export LANG=de_AT Deutsch, Österreich
450 export LANG=es_ES Spanisch, Spanien
451 export LANG=es_MX Spanisch, Mexiko
452 export LANG=en_US.iso88591 Englisch, USA, Latin-1-Zeichenkodierung
453 export LANG=en_GB.UTF-8 Englisch, GB, UTF-8-Zeichenkodierung
455 Eine vollständige Liste der Sprachen und Ländercodes finden Sie im
457 <http://www.gnu.org/software/gettext/manual/gettext.html#Language-Co
460 Auf Unix-Systemen erhalten Sie mit dem Befehl locale(1) spezifische
461 Informationen zu den Spracheinstellungen.
464 Mit der Umgebungsvariable LANGUAGE können Sie eine Prioritätenliste
465 für Sprachen übergeben, die Sie durch Doppelpunkte voneinander
466 trennen. Dos2unix gibt LANGUAGE vor LANG den Vorzug, zum Beispiel
467 bei Deutsch vor Niederländisch: "LANGUAGE=de:nl". Sie müssen
468 zunächst die Lokalisierung aktivieren, indem Sie die Variable LANG
469 (oder LC_ALL) auf einen anderen Wert als »C« setzen, bevor Sie die
470 Liste der Sprachprioritäten nutzen können. Weitere Informationen
471 finden Sie im Gettext-Handbuch:
472 <http://www.gnu.org/software/gettext/manual/gettext.html#The-LANGUAG
475 Falls Sie eine Sprache auswählen, die nicht verfügbar ist, erhalten
476 Sie die Standardmeldungen in englischer Sprache.
479 Durch die Umgebungsvariable DOS2UNIX_LOCALEDIR wird LOCALEDIR
480 während der Kompilierung übergangen. LOCALEDIR wird verwendet, um
481 Sprachdateien zu finden. Der GNU-Standardwert ist
482 "/usr/local/share/locale". Die Option --version zeigt das verwendete
485 Beispiel (POSIX-Shell):
487 export DOS2UNIX_LOCALEDIR=$HOME/share/locale
490 Bei Erfolg wird 0 zurückgegeben. Bei aufgetretenen Systemfehlern wird
491 der letzte Systemfehler zurückgegeben. Für alle anderen Fehler wird 1
494 Der Rückgabewert ist im stillen Modus stets 0, außer wenn fehlerhafte
495 Befehlszeilenoptionen verwendet werden.
498 <http://de.wikipedia.org/wiki/Textdatei>
500 <http://de.wikipedia.org/wiki/Wagenr%C3%BCcklauf>
502 <http://de.wikipedia.org/wiki/Zeilenumbruch>
504 <http://en.wikipedia.org/wiki/Unicode>
507 Benjamin Lin - <blin@socs.uts.edu.au> Bernd Johannes Wuebben (mac2unix
508 mode) - <wuebben@kde.org>, Christian Wurll (add extra newline) -
509 <wurll@ira.uka.de>, Erwin Waterlander - <waterlan@xs4all.nl>
512 Projektseite: <http://waterlan.home.xs4all.nl/dos2unix.html>
514 SourceForge-Seite: <http://sourceforge.net/projects/dos2unix/>
516 Freecode: <http://freecode.com/projects/dos2unix>
519 file(1) find(1) iconv(1) locale(1) xargs(1)