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 Markierung der Bytereihenfolge (BOM) in die
122 Ausgabedatei. In der Voreinstellung wird eine UTF-8-BOM geschrieben.
124 Wenn die Eingabedatei in UTF-16 kodiert ist und die Option "-u"
125 verwendet wird, wird eine UTF-16-BOM geschrieben.
127 Verwenden Sie diese Option niemals, wenn die Kodierung der
128 Ausgabedatei weder UTF-8 noch UTF-16 ist. Weitere Informationen
129 finden Sie im Abschnitt UNICODE.
131 -n, --newfile EINGABEDATEI AUSGABEDATEI …
132 Neue-Datei-Modus. Die EINGABEDATEI wird umgewandelt und in die
133 AUSGABEDATEI geschrieben. Die Dateinamen müssen paarweise angegeben
134 werden. Platzhalter sollten *nicht* verwendet werden, sonst werden
135 Sie Ihre Dateien *verlieren*.
137 Der Benutzer, der die Umwandlung im Neue-Datei-Modus startet, wird
138 Besitzer der umgewandelten Datei. Die Lese- und Schreibrechte werden
139 aus den Zugriffsrechten der Originaldatei minus der umask(1) der
140 Person ermittelt, die die Umwandlung ausgeführt hat.
142 -o, --oldfile DATEI …
143 Alte-Datei-Modus. Die DATEI wird umgewandelt und durch die
144 Ausgabedatei überschrieben. Per Vorgabe werden Umwandlungen in
145 diesem Modus ausgeführt. Platzhalter sind verwendbar.
147 Im Alte-Datei-Modus (Ersetzungsmodus) erhalten die umgewandelten
148 Dateien den gleichen Eigentümer, die gleiche Gruppe und die gleichen
149 Lese- und Schreibberechtigungen wie die Originaldatei, auch wenn die
150 Datei von einem anderen Benutzer umgewandelt wird, der Schreibrechte
151 für die Datei hat (zum Beispiel der Systemadministrator). Die
152 Umwandlung wird abgebrochen, wenn es nicht möglich ist, die
153 originalen Werte beizubehalten. Die Änderung des Eigentümers könnte
154 zum Beispiel bewirken, dass der ursprüngliche Eigentümer die Datei
155 nicht mehr lesen kann. Die Änderung der Gruppe könnte ein
156 Sicherheitsrisiko sein, da die Datei vielleicht für Benutzer lesbar
157 wird, für die sie nicht bestimmt ist. Die Beibehaltung von
158 Eigentümer, Gruppe und Schreib- und Leserechten wird nur unter Unix
162 Stiller Modus, in dem alle Warnungen und sonstige Meldungen
163 unterdrückt werden. Der Rückgabewert ist 0, außer wenn fehlerhafte
164 Befehlszeilenoptionen angegeben werden.
167 entfernt die Markierung der Bytereihenfolge (BOM). Es wird keine BOM
168 in die Ausgabedatei geschrieben. Dies ist das Standardverhalten beim
169 Umwandeln von Unix-Zeilenumbrüchen. Siehe auch die Option "-b".
172 überspringt Binärdateien (Vorgabe).
175 erhält die originale UTF-16-Kodierung der Eingabedatei. Die
176 Ausgabedatei wird in der gleichen UTF-16-Kodierung geschrieben
177 (Little-Endian- oder Big-Endian-Bytereihenfolge) wie die
178 Eingabedatei. Dies verhindert die Umwandlung in UTF-8. Eine
179 UTF-16-BOM wird dementsprechend geschrieben. Diese Option kann durch
180 Angabe der Option "-ascii" deaktiviert werden.
182 -ul, --assume-utf16le
183 nimmt an, dass die Eingabedatei das Format UTF-16LE hat.
185 Wenn die Eingabedatei eine Markierung der Bytereihenfolge enthält
186 (BOM), dann hat die BOM Vorrang vor dieser Option.
188 Durch eine falsche Annahme (die Eingabedatei war nicht in UTF-16LE
189 kodiert) mit erfolgreicher Umwandlung erhalten Sie eine
190 UTF-8-Ausgabedatei mit fehlerhaftem Text. Sie können die
191 fehlgeschlagene Umwandlung mit iconv(1) rückgängig machen, indem Sie
192 die Rückumwandlung von UTF-8 nach UTF-16LE vornehmen. Dadurch
193 gewinnen Sie die Originaldatei zurück.
195 Die Annahme von UTF-16LE wirkt wie ein *Umwandlungsmodus*. Beim
196 Wechsel zum vorgegebenen *ascii*-Modus wird die UTF16LE-Annahme
199 -ub, --assume-utf16be
200 nimmt an, dass die Eingabedatei das Format UTF-16BE hat.
202 Diese Option ist gleichbedeutend mit "-ul".
205 zeigt ausführliche Meldungen an. Zusätzliche Informationen werden zu
206 den Markierungen der Bytereihenfolge (BOM) und zur Anzahl der
207 umgewandelten Zeilenumbrüche angezeigt.
210 folgt symbolischen Links und wandelt die Zieldateien um.
212 -R, --replace-symlink
213 ersetzt symbolische Links durch die umgewandelten Dateien (die
214 originalen Zieldateien bleiben unverändert).
217 erhält symbolische Links als solche und lässt die Ziele unverändert
221 zeigt Versionsinformationen an und beendet das Programm.
224 Im Normalmodus werden Zeilenumbrüche von DOS nach Unix und umgekehrt
225 umgewandelt. Mac-Zeilenumbrüche werden nicht verändert.
227 Im Mac-Modus werden Zeilenumbrüche von Mac nach Unix und umgekehrt
228 umgewandelt. DOS-Zeilenumbrüche werden nicht verändert.
230 Um das Programm im Mac-Modus auszuführen, verwenden Sie die
231 Befehlszeilenoption "-c mac" oder die Befehle "mac2unix" oder
236 Im "ascii"-Modus werden nur Zeilenumbrüche umgewandelt. Dies ist der
237 vorgegebene Umwandlungsmodus.
239 Obwohl der Name dieses Modus auf ASCII hinweist, welches ein
240 7-bit-Standard ist, bezieht sich der eigentliche Modus auf 8 Bit.
241 Verwenden Sie diesen Modus immer dann, wenn Sie Unicode-Dateien in
242 UTF-8-Kodierung umwandeln.
245 In diesem Modus werden alle Nicht-ASCII-Zeichen aus 8 Bit in das
246 7-Bit-Bitmuster umgewandelt.
248 iso Die Zeichen werden aus dem DOS-Zeichensatz (der Codepage) in den
249 ISO-Zeichensatz ISO-8859-1 (Latin-1) in Unix umgewandelt.
250 DOS-Zeichen ohne Äquivalent in ISO-8859-1, für die die Umwandlung
251 nicht möglich ist, werden durch einen Punkt ersetzt. Gleiches gilt
252 für ISO-8859-1-Zeichen ohne DOS-Gegenstück.
254 Wenn nur die Option "-iso" angegeben ist, versucht dos2unix die
255 aktive Codepage selbst zu ermitteln. Sollte dies nicht möglich sein,
256 wird die Standard-Codepage CP437 verwendet, welche hauptsächlich in
257 den USA eingesetzt wird. Um eine bestimmte Codepage zu erzwingen,
258 verwenden Sie die Optionen -437 (US), -850 (Westeuropäisch), -860
259 (Portugiesisch), -863 (Kanadisches Französisch) oder -865
260 (Skandinavisch). Die Windows-Codepage CP1252 (Westeuropäisch) wird
261 durch die Option -1252 unterstützt.
263 Wenden Sie niemals die ISO-Umwandlung auf Unicode-Textdateien an. In
264 UTF-8 kodierte Dateien werden dadurch beschädigt.
268 Umwandlung aus der vorgegebenen DOS-Codepage nach Unix Latin-1
270 dos2unix -iso -n in.txt ausgabe.txt
272 Umwandlung von DOS CP850 nach Unix Latin-1
274 dos2unix -850 -n eingabe.txt ausgabe.txt
276 Umwandlung von Windows CP1252 nach Unix Latin-1
278 dos2unix -1252 -n eingabe.txt ausgabe.txt
280 Umwandlung von Windows CP1252 nach Unix UTF-8 (Unicode)
282 iconv -f CP1252 -t UTF-8 eingabe.txt | dos2unix > ausgabe.txt
284 Umwandlung von Unix Latin-1 in die vorgegebene DOS-Codepage
286 unix2dos -iso -n eingabe.txt ausgabe.txt
288 Umwandlung von Unix Latin-1 nach DOS CP850
290 unix2dos -850 -n eingabe.txt ausgabe.txt
292 Umwandlung von Unix Latin-1 nach Windows CP1252
294 unix2dos -1252 -n eingabe.txt ausgabe.txt
296 Umwandlung von Unix UTF-8 (Unicode) nach Windows CP1252
298 unix2dos < eingabe.txt | iconv -f UTF-8 -t CP1252 > ausgabe.txt
300 Siehe auch <http://czyborra.com/charsets/codepages.html> und
301 <http://czyborra.com/charsets/iso8859.html>.
305 Es gibt verschiedene Unicode-Zeichenkodierungen. Unter Unix und Linux
306 sind Unicode-Dateien typischerweise in UTF-8 kodiert. Unter Windows
307 können Textdateien in UTF-8, UTF-16 oder UTF-16 in
308 Big-Endian-Bytereihenfolge kodiert sein, liegen aber meist im Format
312 Unicode-Textdateien können DOS-, Unix- oder Mac-Zeilenumbrüche
313 enthalten, so wie reguläre Textdateien.
315 Alle Versionen von dos2unix und unix2dos können UTF-8-kodierte Dateien
316 umwandeln, weil UTF-8 im Hinblick auf Abwärtskompatiblität mit ASCII
319 Dos2unix und unix2dos mit Unterstützung für UTF-16 können in UTF-16
320 kodierte Dateien in Little-Endian- und Big-Endian-Bytereihenfolge lesen.
321 Um festzustellen, ob dos2unix mit UTF-16-Unterstützung kompiliert wurde,
322 geben Sie "dos2unix -V" ein.
324 In UTF-16 kodierte Dateien werden standardmäßig in UTF-8 umgewandelt.
325 Unter Unix/Linux ist es notwendig, dass die Zeichenkodierung der Locale
326 auf UTF-8 gesetzt ist. Mit dem Befehl locale(1) können Sie herausfinden,
327 wie die Zeichenkodierung der Locale eingestellt ist. In UTF-8
328 formatierte Textdateien werden von Windows und Unix/Linux gleichermaßen
331 Die Kodierungen UTF-16 und UTF-8 sind vollständig kompatibel, daher wird
332 bei der Umwandlung keinerlei Text verlorengehen. Sollte bei der
333 Umwandlung von UTF-16 in UTF-8 ein Problem auftreten, beispielsweise
334 wenn die UTF-16-kodierte Eingabedatei einen Fehler enthält, dann wird
335 diese Datei übersprungen.
337 Wenn die Option "-u" verwendet wird, wird die Ausgabedatei in der
338 gleichen UTF-16-Kodierung wie die Eingabedatei geschrieben. Die Option
339 "-u" verhindert die Umwandlung in UTF-8.
341 Dos2unix und unix2dos bieten keine Option zur Umwandlung von
342 UTF-8-Dateien in UTF-16.
344 Umwandlungen im ISO- und 7bit-Modus funktionieren mit UTF-16-Dateien
347 Markierung der Bytereihenfolge
348 Unicode-Textdateien unter Windows haben typischerweise eine Markierung
349 der Bytereihenfolge (BOM), da viele Windows-Programme (zum Beispiel
350 Notepad) solche BOMs standardmäßig hinzufügen. Weitere Informationen
351 hierzu finden Sie auf <http://de.wikipedia.org/wiki/Byte-Reihenfolge>.
353 Unter Unix haben Textdateien üblicherweise keine BOM. Es wird
354 stattdessen angenommen, dass Textdateien in der Zeichenkodierung
355 entsprechend der Spracheinstellung vorliegen.
357 Dos2unix kann nur dann erkennen, ob eine Datei UTF-16-kodiert ist, wenn
358 die Datei eine BOM enthält. Ist dies nicht der Fall, nimmt dos2unix an,
359 dass es sich um eine Binärdatei handelt.
361 Verwenden Sie die Optionen "-ul" oder "-ub", um eine UTF-16-Datei ohne
364 Dos2unix schreibt in der Voreinstellung keine BOM in die Ausgabedatei.
365 Mit der Option "-b" schreibt Dos2unix eine BOM, wenn die Eingabedatei
366 ebenfalls eine BOM hat.
368 Unix2dos schreibt in der Voreinstellung eine BOM in die Ausgabedatei,
369 wenn die Eingabedatei ebenfalls eine solche Markierung hat. Verwenden
370 Sie die Option "-r", um die BOM zu entfernen.
372 Dos2unix und unix2dos schreiben immer eine BOM, wenn die Option "-m"
376 Umwandlung von Windows UTF-16 (mit BOM) nach Unix UTF-8
378 dos2unix -n eingabe.txt ausgabe.txt
380 Umwandlung von Windows UTF-16LE (ohne BOM) nach Unix UTF-8
382 dos2unix -ul -n eingabe.txt ausgabe.txt
384 Umwandlung von Unix UTF-8 nach Windows UTF-8 mit BOM
386 unix2dos -m -n eingabe.txt ausgabe.txt
388 Umwandlung von Unix UTF-8 nach Windows UTF-16
390 unix2dos < eingabe.txt | iconv -f UTF-8 -t UTF-16 > ausgabe.txt
393 Aus der Standardeingabe lesen und in die Standardausgabe schreiben:
398 a.txt umwandeln und ersetzen, b.txt umwandeln und ersetzen:
401 dos2unix -o a.txt b.txt
403 a.txt im ascii-Modus umwandeln und ersetzen:
407 a.txt im ascii-Modus umwandeln und ersetzen, b.txt im 7bit-Modus
408 umwandeln und ersetzen:
410 dos2unix a.txt -c 7bit b.txt
411 dos2unix -c ascii a.txt -c 7bit b.txt
412 dos2unix -ascii a.txt -7 b.txt
414 a.txt aus dem Mac- in das Unix-Format umwandeln:
416 dos2unix -c mac a.txt
419 a.txt aus dem Unix- in das Mac-Format umwandeln:
421 unix2dos -c mac a.txt
424 a.txt unter Beibehaltung des Zeitstempels umwandeln:
429 a.txt umwandeln und das Ergebnis nach e.txt schreiben:
431 dos2unix -n a.txt e.txt
433 a.txt umwandeln und das Ergebnis nach e.txt schreiben, wobei e.txt den
434 gleichen Zeitstempel erhält wie a.txt:
436 dos2unix -k -n a.txt e.txt
438 a.txt umwandeln und ersetzen, b.txt umwandeln und das Ergebnis nach
441 dos2unix a.txt -n b.txt e.txt
442 dos2unix -o a.txt -n b.txt e.txt
444 a.txt umwandeln und das Ergebnis nach e.txt schreiben, a.txt umwandeln
445 und ersetzen, b.txt umwandeln und ersetzen, d.txt umwandeln und das
446 Ergebnis nach f.txt schreiben:
448 dos2unix -n c.txt e.txt -o a.txt b.txt -n d.txt f.txt
451 Verwenden Sie dos2unix zusammen mit den Befehlen find(1) und xargs(1),
452 um Textdateien in einem Verzeichnisbaum rekursiv umzuwandeln. Um
453 beispielsweise alle *.txt-Dateien im aktuellen Verzeichnis und dessen
454 Unterverzeichnissen umzuwandeln, geben Sie Folgendes ein:
456 find . -name *.txt |xargs dos2unix
460 Die primäre Sprache wird durch die Umgebungsvariable LANG
461 festgelegt. Diese Variable besteht aus mehreren Teilen: Der erste
462 Teil besteht aus zwei Kleinbuchstaben, die den Sprachcode angeben.
463 Der zweite Teil ist optional und bezeichnet den Ländercode in
464 Großbuchstaben, vom davor stehenden Sprachcode durch einen
465 Unterstrich getrennt. Der dritte Teil ist ebenfalls optional und
466 gibt die Zeichenkodierung an, vom Ländercode durch einen Punkt
467 getrennt. Einige Beispiele für Standard-POSIX-Shells:
469 export LANG=de Deutsch
470 export LANG=de_DE Deutsch, Deutschland
471 export LANG=de_AT Deutsch, Österreich
472 export LANG=es_ES Spanisch, Spanien
473 export LANG=es_MX Spanisch, Mexiko
474 export LANG=en_US.iso88591 Englisch, USA, Latin-1-Zeichenkodierung
475 export LANG=en_GB.UTF-8 Englisch, GB, UTF-8-Zeichenkodierung
477 Eine vollständige Liste der Sprachen und Ländercodes finden Sie im
479 <http://www.gnu.org/software/gettext/manual/gettext.html#Language-Co
482 Auf Unix-Systemen erhalten Sie mit dem Befehl locale(1) spezifische
483 Informationen zu den Spracheinstellungen.
486 Mit der Umgebungsvariable LANGUAGE können Sie eine Prioritätenliste
487 für Sprachen übergeben, die Sie durch Doppelpunkte voneinander
488 trennen. Dos2unix gibt LANGUAGE vor LANG den Vorzug, zum Beispiel
489 bei Deutsch vor Niederländisch: "LANGUAGE=de:nl". Sie müssen
490 zunächst die Lokalisierung aktivieren, indem Sie die Variable LANG
491 (oder LC_ALL) auf einen anderen Wert als »C« setzen, bevor Sie die
492 Liste der Sprachprioritäten nutzen können. Weitere Informationen
493 finden Sie im Gettext-Handbuch:
494 <http://www.gnu.org/software/gettext/manual/gettext.html#The-LANGUAG
497 Falls Sie eine Sprache auswählen, die nicht verfügbar ist, erhalten
498 Sie die Standardmeldungen in englischer Sprache.
501 Durch die Umgebungsvariable DOS2UNIX_LOCALEDIR wird LOCALEDIR
502 während der Kompilierung übergangen. LOCALEDIR wird verwendet, um
503 Sprachdateien zu finden. Der GNU-Standardwert ist
504 "/usr/local/share/locale". Die Option --version zeigt das verwendete
507 Beispiel (POSIX-Shell):
509 export DOS2UNIX_LOCALEDIR=$HOME/share/locale
512 Bei Erfolg wird 0 zurückgegeben. Bei aufgetretenen Systemfehlern wird
513 der letzte Systemfehler zurückgegeben. Für alle anderen Fehler wird 1
516 Der Rückgabewert ist im stillen Modus stets 0, außer wenn fehlerhafte
517 Befehlszeilenoptionen verwendet werden.
520 <http://de.wikipedia.org/wiki/Textdatei>
522 <http://de.wikipedia.org/wiki/Wagenr%C3%BCcklauf>
524 <http://de.wikipedia.org/wiki/Zeilenumbruch>
526 <http://en.wikipedia.org/wiki/Unicode>
529 Benjamin Lin - <blin@socs.uts.edu.au> Bernd Johannes Wuebben (mac2unix
530 mode) - <wuebben@kde.org>, Christian Wurll (add extra newline) -
531 <wurll@ira.uka.de>, Erwin Waterlander - <waterlan@xs4all.nl>
534 Projektseite: <http://waterlan.home.xs4all.nl/dos2unix.html>
536 SourceForge-Seite: <http://sourceforge.net/projects/dos2unix/>
539 file(1) find(1) iconv(1) locale(1) xargs(1)