BEZEICHNUNG
    dos2unix - Formatumwandlung für Textdateien von DOS/Mac nach Unix und
    umgekehrt

ÜBERSICHT
        dos2unix [Optionen] [DATEI …] [-n EINGABEDATEI AUSGABEDATEI …]
        unix2dos [Optionen] [DATEI …] [-n EINGABEDATEI AUSGABEDATEI …]

BESCHREIBUNG
    Das Paket Dos2unix enthält die Werkzeuge "dos2unix" und "unix2dos" zum
    Umwandeln einfacher Textdateien aus dem DOS- oder Mac-Format in das
    Unix-Format und umgekehrt.

    In Textdateien unter DOS/Windows sind Zeilenumbrüche, auch als neue
    Zeile (NL) bekannt, eine Kombination aus zwei Zeichen: einem
    Wagenrücklauf (Carriage Return, CR) gefolgt von einem Zeilenvorschub
    (Line Feed, LF). In Unix-Textdateien bestehen Zeilenumbrüche nur aus
    einem Zeichen, dem Zeilenvorschub (LF). In Mac-Textdateien aus der Zeit
    vor MacOSX bestand ein Zeilenumbruch aus einem einzelnen CR-Zeichen.
    Heute verwendet Mac OS Zeilenumbrüche im Unix-Stil (LF).

    Neben Zeilenumbrüchen kann Dos2unix auch die Zeichenkodierung von
    Dateien umwandeln. Einige DOS-Codepages können in Unix Latin-1
    umgewandelt werden, und Windows-Unicode-Dateien (UTF-16) können in
    Unix-Unicode-Dateien (UTF-8) umgewandelt werden.

    Binärdateien werden automatisch übersprungen, sofern die Umwandlung
    nicht erzwungen wird.

    Nicht-reguläre Dateien, wie Verzeichnisse und FIFOS (Weiterleitungen)
    werden automatisch übersprungen.

    Symbolische Links und deren Ziele werden per Vorgabe unverändert
    belassen. Symbolische Links können optional ersetzt werden, oder die
    Ausgabe wird in das Ziel des symbolischen Links geschrieben. Unter
    Windows wird das Schreiben in das Ziele eines symbolischen Links nicht
    unterstützt.

    Dos2unix wurde nach dem Vorbild der dos2unix-Version unter SunOS/Solaris
    entwickelt, doch es gitb einen wesentlichen Unterschied zu: Diese
    Version ersetzt per Vorgabe Dateien bei der Umwandlung
    (Alte-Datei-Modus), während unter SunOS/Solaris nur die paarweise
    Umwandlung (Neue-Datei-Modus) unterstützt wird. Siehe dazu die Optionen
    "-o" und "-n".

OPTIONEN
    --  nimmt alle folgenden Optionen als Dateinamen an. Verwenden Sie diese
        Option, wenn Sie Dateien umwandeln wollen, deren Namen mit einem
        Minuszeichen beginnen. Um beispielsweise eine Datei namens »-bla«
        umzuwandeln, können Sie folgenden Befehl verwenden:

            dos2unix -- -bla

        oder im Neue-Datei-Modus:

            dos2unix -n -- -bla ausgabe.txt

    -ascii
        wandelt nur Zeilenumbrüche um. Dies ist der vorgegebene
        Umwandlungsmodus.

    -iso
        wandelt aus dem DOS- in den ISO-8859-1-Zeichensatz um. Weitere
        Informationen hierzu finden Sie im Abschnitt UMWANDLUNGSMODI.

    -1252
        verwendet die Windows-Codepage 1252 (Westeuropäisch).

    -437
        verwendet die DOS-Codepage 437 (US). Dies ist die vorgegebene
        Codepage für die ISO-Umwandlung.

    -850
        verwendet die DOS-Codepage 850 (Westeuropäisch).

    -860
        verwendet die DOS-Codepage 860 (Portugiesisch).

    -863
        verwendet die DOS-Codepage 863 (Kanadisches Französisch).

    -865
        verwendet die DOS-Codepage 865 (Skandinavisch).

    -7  wandelt 8bit-Zeichen in ein 7bit-Bitmuster um.

    -c, --convmode UMWANDLUNGSMODUS
        legt den Umwandlungsmodus fest. UMWANDLUNGSMODUS kann *ascii*,
        *7bit*, *iso* oder *mac* sein, wobei *ascii* die Vorgabe ist.

    -f, --force
        erzwingt die Umwandlung von Binärdateien.

    -h, --help
        zeigt eine Hilfe an und beendet das Programm.

    -k, --keepdate
        übernimmt den Zeitstempel der Eingabedatei in die Ausgabedatei.

    -L, --license
        zeigt die Lizenz des Programms an.

    -l, --newline
        fügt eine zusätzliche neue Zeile hinzu.

        dos2unix: Nur DOS-Zeilenumbrüche werden in Unix-Zeilenumbrüche
        umgewandelt. Im Mac-Modus werden nur Mac-Zeilenumbrüche in
        Unix-Zeilenumbrüche umgewandelt.

        unix2dos: Nur Unix-Zeilenumbrüche werden in DOS-Zeilenumbrüche
        umgewandelt. Im Mac-Modus werden nur Unix-Zeilenumbrüche in
        Mac-Zeilenumbrüche umgewandelt.

    -m, --add-bom
        schreibt eine UTF-Markierung der Bytereihenfolge in die
        Ausgabedatei. Verwenden Sie diese Option niemals, wenn die Kodierung
        der Ausgabedatei nicht UTF-8 ist. Weitere Informationen finden Sie
        im Abschnitt UNICODE.

    -n, --newfile EINGABEDATEI AUSGABEDATEI …
        Neue-Datei-Modus. Die EINGABEDATEI wird umgewandelt und in die
        AUSGABEDATEI geschrieben. Die Dateinamen müssen paarweise angegeben
        werden. Platzhalter sollten *nicht* verwendet werden, sonst werden
        Sie Ihre Dateien *verlieren*.

        Der Benutzer, der die Umwandlung im Neue-Datei-Modus startet, wird
        Besitzer der umgewandelten Datei. Die Lese- und Schreibrechte werden
        aus den Zugriffsrechten der Originaldatei minus der umask(1) der
        Person ermittelt, die die Umwandlung ausgeführt hat.

    -o, --oldfile DATEI …
        Alte-Datei-Modus. Die DATEI wird umgewandelt und durch die
        Ausgabedatei überschrieben. Per Vorgabe werden Umwandlungen in
        diesem Modus ausgeführt. Platzhalter sind verwendbar.

        Im Alte-Datei-Modus (Ersetzungsmodus) erhalten die umgewandelten
        Dateien den gleichen Eigentümer, die gleiche Gruppe und die gleichen
        Lese- und Schreibberechtigungen wie die Originaldatei, auch wenn die
        Datei von einem anderen Benutzer umgewandelt wird, der Schreibrechte
        für die Datei hat (zum Beispiel der Systemadministrator). Die
        Umwandlung wird abgebrochen, wenn es nicht möglich ist, die
        originalen Werte beizubehalten. Die Änderung des Eigentümers könnte
        zum Beispiel bewirken, dass der ursprüngliche Eigentümer die Datei
        nicht mehr lesen kann. Die Änderung der Gruppe könnte ein
        Sicherheitsrisiko sein, da die Datei vielleicht für Benutzer lesbar
        wird, für die sie nicht bestimmt ist. Die Beibehaltung von
        Eigentümer, Gruppe und Schreib- und Leserechten wird nur unter Unix
        unterstützt.

    -q, --quiet
        Stiller Modus, in dem alle Warnungen und sonstige Meldungen
        unterdrückt werden. Der Rückgabewert ist 0, außer wenn fehlerhafte
        Befehlszeilenoptionen angegeben werden.

    -s, --safe
        überspringt Binärdateien (Vorgabe).

    -ul, --assume-utf16le
        nimmt an, dass die Eingabedatei das Format UTF-16LE hat.

        Wenn die Eingabedatei eine Markierung der Bytereihenfolge enthält
        (BOM), dann hat die BOM Vorrang vor dieser Option.

        Durch eine falsche Annahme (die Eingabedatei war nicht in UTF-16LE
        kodiert) mit erfolgreicher Umwandlung erhalten Sie eine
        UTF-8-Ausgabedatei mit fehlerhaftem Text. Sie können die
        fehlgeschlagene Umwandlung mit iconv(1) rückgängig machen, indem Sie
        die Rückumwandlung von UTF-8 nach UTF-16LE vornehmen. Dadurch
        gewinnen Sie die Originaldatei zurück.

        Die Annahme von UTF-16LE wirkt wie ein *Umwandlungsmodus*. Beim
        Wechsel zum vorgegebenen *ascii*-Modus wird die UTF16LE-Annahme
        deaktiviert.

    -ub, --assume-utf16be
        nimmt an, dass die Eingabedatei das Format UTF-16BE hat.

        Diese Option ist gleichbedeutend mit "-ul".

    -F, --follow-symlink
        folgt symbolischen Links und wandelt die Zieldateien um.

    -R, --replace-symlink
        ersetzt symbolische Links durch die umgewandelten Dateien (die
        originalen Zieldateien bleiben unverändert).

    -S, --skip-symlink
        erhält symbolische Links als solche und lässt die Ziele unverändert
        (Vorgabe).

    -V, --version
        zeigt Versionsinformationen an und beendet das Programm.

MAC-MODUS
    Im Normalmodus werden Zeilenumbrüche von DOS nach Unix und umgekehrt
    umgewandelt. Mac-Zeilenumbrüche werden nicht verändert.

    Im Mac-Modus werden Zeilenumbrüche von Mac nach Unix und umgekehrt
    umgewandelt. DOS-Zeilenumbrüche werden nicht verändert.

    Um das Programm im Mac-Modus auszuführen, verwenden Sie die
    Befehlszeilenoption "-c mac" oder die Befehle "mac2unix" oder
    "unix2mac".

UMWANDLUNGSMODI
    ascii
        Im "ascii"-Modus werden nur Zeilenumbrüche umgewandelt. Dies ist der
        vorgegebene Umwandlungsmodus.

        Obwohl der Name dieses Modus auf ASCII hinweist, welches ein
        7-bit-Standard ist, bezieht sich der eigentliche Modus auf 8 Bit.
        Verwenden Sie diesen Modus immer dann, wenn Sie Unicode-Dateien in
        UTF-8-Kodierung umwandeln.

    7bit
        In diesem Modus werden alle Nicht-ASCII-Zeichen aus 8 Bit in das
        7-Bit-Bitmuster umgewandelt.

    iso Die Zeichen werden aus dem DOS-Zeichensatz (der Codepage) in den
        ISO-Zeichensatz ISO-8859-1 (Latin-1) in Unix umgewandelt.
        DOS-Zeichen ohne Äquivalent in ISO-8859-1, für die die Umwandlung
        nicht möglich ist, werden durch einen Punkt ersetzt. Gleiches gilt
        für ISO-8859-1-Zeichen ohne DOS-Gegenstück.

        Wenn nur die Option "-iso" angegeben ist, versucht dos2unix die
        aktive Codepage selbst zu ermitteln. Sollte dies nicht möglich sein,
        wird die Standard-Codepage CP437 verwendet, welche hauptsächlich in
        den USA eingesetzt wird. Um eine bestimmte Codepage zu erzwingen,
        verwenden Sie die Optionen -437 (US), -850 (Westeuropäisch), -860
        (Portugiesisch), -863 (Kanadisches Französisch) oder -865
        (Skandinavisch). Die Windows-Codepage CP1252 (Westeuropäisch) wird
        durch die Option -1252 unterstützt.

        Wenden Sie niemals die ISO-Umwandlung auf Unicode-Textdateien an. In
        UTF-8 kodierte Dateien werden dadurch beschädigt.

        Einige Beispiele:

        Umwandlung aus der vorgegebenen DOS-Codepage nach Unix Latin-1

            dos2unix -iso -n in.txt ausgabe.txt

        Umwandlung von DOS CP850 nach Unix Latin-1

            dos2unix -850 -n eingabe.txt ausgabe.txt

        Umwandlung von Windows CP1252 nach Unix Latin-1

            dos2unix -1252 -n eingabe.txt ausgabe.txt

        Umwandlung von Windows CP1252 nach Unix UTF-8 (Unicode)

            iconv -f CP1252 -t UTF-8 eingabe.txt | dos2unix > ausgabe.txt

        Umwandlung von Unix Latin-1 in die vorgegebene DOS-Codepage

            unix2dos -iso -n eingabe.txt ausgabe.txt

        Umwandlung von Unix Latin-1 nach DOS CP850

            unix2dos -850 -n eingabe.txt ausgabe.txt

        Umwandlung von Unix Latin-1 nach Windows CP1252

            unix2dos -1252 -n eingabe.txt ausgabe.txt

        Umwandlung von Unix UTF-8 (Unicode) nach Windows CP1252

            unix2dos < eingabe.txt | iconv -f UTF-8 -t CP1252 > ausgabe.txt

        Siehe auch <http://czyborra.com/charsets/codepages.html> und
        <http://czyborra.com/charsets/iso8859.html>.

UNICODE
  Zeichenkodierungen
    Es gibt verschiedene Unicode-Zeichenkodierungen. Unter Unix und Linux
    sind Unicode-Dateien typischerweise in UTF-8 kodiert. Unter Windows
    können Textdateien in UTF-8, UTF-16 oder UTF-16 in
    Big-Endian-Bytereihenfolge kodiert sein, liegen aber meist im Format
    UTF-16 vor.

  Umwandlung
    Unicode-Textdateien können DOS-, Unix- oder Mac-Zeilenumbrüche
    enthalten, so wie reguläre Textdateien.

    Alle Versionen von dos2unix und unix2dos können UTF-8-kodierte Dateien
    umwandeln, weil UTF-8 im Hinblick auf Abwärtskompatiblität mit ASCII
    entwickelt wurde.

    Dos2unix und unix2dos mit Unterstützung für UTF-16 können in UTF-16
    kodierte Dateien in Little-Endian- und Big-Endian-Bytereihenfolge lesen.
    Um festzustellen, ob dos2unix mit UTF-16-Unterstützung kompiliert wurde,
    geben Sie "dos2unix -V" ein.

    Die Windows-Versionen von dos2unix und unix2dos wandeln UTF-16-kodierte
    Dateien stets in UTF-8-Dateien um. Die entsprechenden Unix-Versionen
    wandeln UTF-16-kodierte Dateien in die lokale Zeichenkodierung um, falls
    diese nicht auf UTF-8 gesetzt ist. Verwenden Sie den Befehl locale(1),
    um die lokale Zeichenkodierung zu ermitteln.

    Da in UTF-8 formatierte Textdateien sowohl unter Windows als auch unter
    Unix gut unterstützt werden, haben dos2unix und unix2dos keine Option
    zum Schreiben von UTF-16-Dateien. Alle UTF-16-Zeichen können verlustlos
    in UTF-8 kodiert werden. UTF-16-Dateien werden unter Unix übersprungen,
    wenn die lokale Zeichenkodierung nicht UTF-8 ist, um unbeabsichtigte
    Verluste von Textteilen zu verhindern. Wenn eine Umwandlung von UTF-16
    nach UTF-8 Fehlermeldungen verursacht, zum Beispiel die
    UTF-16-Eingabedatei einen Fehler enthält, dann wird diese Datei
    übersprungen.

    Umwandlungen im ISO- und 7bit-Modus funktionieren mit UTF-16-Dateien
    nicht.

  Markierung der Bytereihenfolge
    Unicode-Textdateien unter Windows haben typischerweise eine Markierung
    der Bytereihenfolge (BOM), da viele Windows-Programme (zum Beispiel
    Notepad) solche BOMs standardmäßig hinzufügen. Weitere Informationen
    hierzu finden Sie auf <http://de.wikipedia.org/wiki/Byte-Reihenfolge>.

    Unter Unix haben Textdateien üblicherweise keine BOM. Es wird
    stattdessen angenommen, dass Textdateien in der Zeichenkodierung
    entsprechend der Spracheinstellung vorliegen.

    Dos2unix kann nur dann erkennen, ob eine Datei UTF-16-kodiert ist, wenn
    die Datei eine BOM enthält. Ist dies nicht der Fall, nimmt dos2unix an,
    dass es sich um eine Binärdatei handelt.

    Verwenden Sie die Optionen "-ul" oder "-ub", um eine UTF-16-Datei ohne
    BOM umzuwandeln.

    Dos2unix schreibt nur dann eine BOM in die Ausgabedatei, wenn Sie die
    Option "-m" angeben.

    Unix2dos schreibt eine BOM in die Ausgabedatei, wenn die Eingabedatei
    ebenfalls eine solche Markierung hat, oder wenn die Option "-m"
    angegeben ist.

  Unicode-Beispiele
    Umwandlung von Windows UTF-16 (mit BOM) nach Unix UTF-8

        dos2unix -n eingabe.txt ausgabe.txt

    Umwandlung von Windows UTF-16LE (ohne BOM) nach Unix UTF-8

        dos2unix -ul -n eingabe.txt ausgabe.txt

    Umwandlung von Unix UTF-8 nach Windows UTF-8 mit BOM

        unix2dos -m -n eingabe.txt ausgabe.txt

    Umwandlung von Unix UTF-8 nach Windows UTF-16

        unix2dos < eingabe.txt | iconv -f UTF-8 -t UTF-16 > ausgabe.txt

BEISPIELE
    Aus der Standardeingabe lesen und in die Standardausgabe schreiben:

        dos2unix
        dos2unix -l -c mac

    a.txt umwandeln und ersetzen, b.txt umwandeln und ersetzen:

        dos2unix a.txt b.txt
        dos2unix -o a.txt b.txt

    a.txt im ascii-Modus umwandeln und ersetzen:

        dos2unix a.txt

    a.txt im ascii-Modus umwandeln und ersetzen, b.txt im 7bit-Modus
    umwandeln und ersetzen:

        dos2unix a.txt -c 7bit b.txt
        dos2unix -c ascii a.txt -c 7bit b.txt
        dos2unix -ascii a.txt -7 b.txt

    a.txt aus dem Mac- in das Unix-Format umwandeln:

        dos2unix -c mac a.txt
        mac2unix a.txt

    a.txt aus dem Unix- in das Mac-Format umwandeln:

        unix2dos -c mac a.txt
        unix2mac a.txt

    a.txt unter Beibehaltung des Zeitstempels umwandeln:

        dos2unix -k a.txt
        dos2unix -k -o a.txt

    a.txt umwandeln und das Ergebnis nach e.txt schreiben:

        dos2unix -n a.txt e.txt

    a.txt umwandeln und das Ergebnis nach e.txt schreiben, wobei e.txt den
    gleichen Zeitstempel erhält wie a.txt:

        dos2unix -k -n a.txt e.txt

    a.txt umwandeln und ersetzen, b.txt umwandeln und das Ergebnis nach
    e.txt schreiben:

        dos2unix a.txt -n b.txt e.txt
        dos2unix -o a.txt -n b.txt e.txt

    a.txt umwandeln und das Ergebnis nach e.txt schreiben, a.txt umwandeln
    und ersetzen, b.txt umwandeln und ersetzen, d.txt umwandeln und das
    Ergebnis nach f.txt schreiben:

        dos2unix -n c.txt e.txt -o a.txt b.txt -n d.txt f.txt

REKURSIVE UMWANDLUNG
    Verwenden Sie dos2unix zusammen mit den Befehlen find(1) und xargs(1),
    um Textdateien in einem Verzeichnisbaum rekursiv umzuwandeln. Um
    beispielsweise alle *.txt-Dateien im aktuellen Verzeichnis und dessen
    Unterverzeichnissen umzuwandeln, geben Sie Folgendes ein:

        find . -name *.txt |xargs dos2unix

LOKALISIERUNG
    LANG
        Die primäre Sprache wird durch die Umgebungsvariable LANG
        festgelegt. Diese Variable besteht aus mehreren Teilen: Der erste
        Teil besteht aus zwei Kleinbuchstaben, die den Sprachcode angeben.
        Der zweite Teil ist optional und bezeichnet den Ländercode in
        Großbuchstaben, vom davor stehenden Sprachcode durch einen
        Unterstrich getrennt. Der dritte Teil ist ebenfalls optional und
        gibt die Zeichenkodierung an, vom Ländercode durch einen Punkt
        getrennt. Einige Beispiele für Standard-POSIX-Shells:

            export LANG=de               Deutsch
            export LANG=de_DE            Deutsch, Deutschland
            export LANG=de_AT            Deutsch, Österreich
            export LANG=es_ES            Spanisch, Spanien
            export LANG=es_MX            Spanisch, Mexiko
            export LANG=en_US.iso88591   Englisch, USA, Latin-1-Zeichenkodierung
            export LANG=en_GB.UTF-8      Englisch, GB, UTF-8-Zeichenkodierung

        Eine vollständige Liste der Sprachen und Ländercodes finden Sie im
        Gettext-Handbuch:
        <http://www.gnu.org/software/gettext/manual/gettext.html#Language-Co
        des>

        Auf Unix-Systemen erhalten Sie mit dem Befehl locale(1) spezifische
        Informationen zu den Spracheinstellungen.

    LANGUAGE
        Mit der Umgebungsvariable LANGUAGE können Sie eine Prioritätenliste
        für Sprachen übergeben, die Sie durch Doppelpunkte voneinander
        trennen. Dos2unix gibt LANGUAGE vor LANG den Vorzug, zum Beispiel
        bei Deutsch vor Niederländisch: "LANGUAGE=de:nl". Sie müssen
        zunächst die Lokalisierung aktivieren, indem Sie die Variable LANG
        (oder LC_ALL) auf einen anderen Wert als »C« setzen, bevor Sie die
        Liste der Sprachprioritäten nutzen können. Weitere Informationen
        finden Sie im Gettext-Handbuch:
        <http://www.gnu.org/software/gettext/manual/gettext.html#The-LANGUAG
        E-variable>

        Falls Sie eine Sprache auswählen, die nicht verfügbar ist, erhalten
        Sie die Standardmeldungen in englischer Sprache.

    DOS2UNIX_LOCALEDIR
        Durch die Umgebungsvariable DOS2UNIX_LOCALEDIR wird LOCALEDIR
        während der Kompilierung übergangen. LOCALEDIR wird verwendet, um
        Sprachdateien zu finden. Der GNU-Standardwert ist
        "/usr/local/share/locale". Die Option --version zeigt das verwendete
        LOCALEDIR an.

        Beispiel (POSIX-Shell):

            export DOS2UNIX_LOCALEDIR=$HOME/share/locale

RÜCKGABEWERT
    Bei Erfolg wird 0 zurückgegeben. Bei aufgetretenen Systemfehlern wird
    der letzte Systemfehler zurückgegeben. Für alle anderen Fehler wird 1
    zurückgegeben.

    Der Rückgabewert ist im stillen Modus stets 0, außer wenn fehlerhafte
    Befehlszeilenoptionen verwendet werden.

STANDARDS
    <http://de.wikipedia.org/wiki/Textdatei>

    <http://de.wikipedia.org/wiki/Wagenr%C3%BCcklauf>

    <http://de.wikipedia.org/wiki/Zeilenumbruch>

    <http://en.wikipedia.org/wiki/Unicode>

AUTOREN
    Benjamin Lin - <blin@socs.uts.edu.au> Bernd Johannes Wuebben (mac2unix
    mode) - <wuebben@kde.org>, Christian Wurll (add extra newline) -
    <wurll@ira.uka.de>, Erwin Waterlander - <waterlan@xs4all.nl>
    (Maintainer)

    Projektseite: <http://waterlan.home.xs4all.nl/dos2unix.html>

    SourceForge-Seite: <http://sourceforge.net/projects/dos2unix/>

    Freecode: <http://freecode.com/projects/dos2unix>

SIEHE AUCH
    file(1) find(1) iconv(1) locale(1) xargs(1)

