Home / LinuxUser / 2007 / 11 / Verwandlung auf Befehl

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

War doch klar...
(243 Punkte bei 15 Stimmen)
Re: War doch klar...
(179 Punkte bei 5 Stimmen)
Re: Skype für 64-Bit-Prozessor u. Suse 12.1
(161 Punkte bei 4 Stimmen)
Kubuntu verliert Finanzierung
(130 Punkte bei 4 Stimmen)
Offen fürs Geschäft
(80 Punkte bei 4 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Shopping
Topsuche
 
Yatego Deutschlands größte Shoppingmall. 10000 Shops,
3.5 Mio Artikel. Alle Bestseller, Servertechnik und Technik Themenwelten.

Notebooks und Netzwerkhardware bei Mercateo günstig kaufen.
Internet Telefonie mit VoIP Telefonen von Gigaset
Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.
Günstige Digitalkameras finden Sie im Preisvergleich.

Verwandlung auf Befehl

Konvertierung auf der Shell

01.11.2007 Unterschiedliche Zeilenenden oder Zeichenkodierungen machen Linuxern den Datenaustausch schwer. Ein paar Konvertierungstools auf der Shell helfen aus der Misere.

Wenn Sie häufig Textdokumente zwischen Windows- und Linux-Systemen tauschen, passen Sie mit wenigen Kommandos auf der Shell die unterschiedlichen Zeilenenden an – dos2unix und unix2dos konvertieren mit nur einem Befehl. Sollte darüber hinaus ein Zeichensatz Ärger machen, wandeln iconv und recode den Buchstabensalat in ein leckeres und lesbares Gericht um.

Was gibt's?

Dateiendungen sind Schall und Rauch: Linux unterscheidet Dateitypen nach inhaltlichen Kriterien und nicht nach der Endung des Dateinamens. So erkennt es beispielsweise eine MP3-Datei auch als solche, wenn sie einen Namen trägt, der auf etwas ganz anderes schließen lässt. Abbildung 1 zeigt den Gnome-Dateimanager Nautilus, der sowohl die als Text getarnte MP3-Datei (im Beispiel huhn.txt) als auch die als PNG verkleidete LaTeX-Datei (brief.png) richtig identifiziert hat.

Abbildung 1: Mogeln gilt nicht – Linux erkennt Dateitypen nicht anhand ihrer Enden, sondern anhand ihres Inhalts.

Auf der Kommandozeile hilft das Programm file dabei, die Dateitypen richtig zu erkennen (Listing 1). Das praktische Tool schaut sich Dateien ganz genau an und versucht mit verschiedenen Tests herauszufinden, um was für einen Typ es sich handelt. In der Regel ermöglichen bereits die ersten paar Bytes einer Datei die korrekte Zuordnung. Nur wenn file gar nicht fündig wird, meldet es:

$ file komischedatei
komischedatei:  data
Listing 1
$ file *
brief.png:      LaTeX 2e document text
huhn.txt:       MP3 file with ID3 version 2.3.0 tag
test.txt:       ISO-8859 text

Das Programm zeigt sich netterweise auch recht informativ, wenn es um Textdateien geht. Dass Text nicht gleich Text ist, zeigt die Ausgabe in Listing 2: Drei Textdateien ergeben drei verschiedene Ausgaben von file: Einmal UTF-8, einmal Windows-Zeilenenden (CRLF, siehe nächster Abschnitt) und einmal ISO-8859. Die nächsten Abschnitte stellen Programme vor, mit denen Sie diese unterschiedlichen Texte für den Austausch mit anderen Systemen fit machen.

Listing 2
$ file *
utf8.txt:       UTF-8 Unicode text
win.txt:        ISO-8859 text, with CRLF line terminators
iso8859.txt:    ISO-8859 text

Das Ende der Zeile …

… ist oft der Anfang des Ärgers, denn die verschiedenen Betriebssysteme nutzen unterschiedliche Kennzeichnungen für Zeilenenden. Die Syntax, die übrigens der Funktionsweise von Schreibmaschinen nachempfunden wurde, fällt unter Linux und Windows unterschiedlich aus: Während Linux-Systemen ein Line Feed (Zeilenvorschub, \n = "new line") ausreicht, repräsentiert unter Windows eine Kombination aus Line Feed und Carriage Return (Wagenrücklauf, \r = "return") den Umbruch.

Spätestens beim Öffnen einer Textdatei in einem Editor fällt dieser kleine, aber feine Unterschied auf: Eine unter Windows erstellte Textdatei zeigt im Vim beispielsweise überall ^M-Zeichen (Abbildung 2). Eine mögliche Lösung bieten die beiden Shell-Tools dos2unix (sprich: "DOS to Unix") und unix2dos ("Unix to DOS"). Wie der Name vermuten lässt, wandeln sie Dateien von einem ins andere Format um.

Unter einigen Linux-Distributionen kommen die beiden Helfer in jeweils eigenen Paketen daher; aktuelle Debian-Versionen liefern stattdessen das Paket tofrodos aus, das die beiden Programme fromdos und todos enthält. Hier weisen zwei symbolische Links von /usr/bin/dos2unix und /usr/bin/unix2dos auf die verwandten Tools, sodass der Benutzer einerseits wie gewohnt mit dos2unix und unix2dos, aber auch mit fromdos und todos arbeiten kann. Die Programme leisten grundsätzlich dasselbe, an einigen Stellen weichen sie allerdings voneinander ab. Der Artikel spricht im Folgenden von dos2unix/unix2dos (da der Aufruf ja auch auf Debian-Systemen funktioniert) und erklärt die jeweils abweichenden Optionen.

Abbildung 2: Zeichen wie von Geisterhand – die unterschiedlichen Zeilenenden erscheinen im Vim als ^M.

Einem Freund empfehlen    Druckansicht Bookmark and Share
Kommentare

4006 Hits
Wertung: 113 Punkte (11 Stimmen)

Schlecht Gut

Infos zur Publikation

Infos zur Publikation

LinuxUser 03/2012

Aktuelle Ausgabe kaufen:

Heft bestellen Heft als PDF kaufen

LinuxUser erscheint monatlich und kostet in der Nomedia-Ausgabe EUR 5,50 und mit DVD EUR 8,50. Weitere Informationen zum Heft finden Sie auf der LinuxUser-Homepage.

Im LinuxUser-Probeabo erhalten Sie drei Ausgaben für 3 Euro. Das Jahresabo (ab EUR 56,10) können Sie im LNM-Shop bestellen.

Tipp der Woche

Duden Korrektor unter 64-Bit
Duden Korrektor unter 64-Bit
Tim Schürmann, 06.02.2012 10:36, 0 Kommentare

Der Duden Korrektor bietet eine äußerst nützliche Rechtschreib- und Grammatikkorrektur für LibreOffice und bringt in der aktuellen Version 8 e...

Aktuelle Fragen

Ubuntu 11.10 Compiz 3D Cube flackern
Moritz Obenauer, 12.02.2012 12:25, 0 Antworten
Hallo! Ich habe Ubuntu 11.10 mit Unity und den Compiz 3D Cube ein gerichtet. Er funktioniert...
Suse 12.1 Bootvorgang bleibt seit Update stehen
Wimpy *, 12.02.2012 09:22, 1 Antworten
Seit Update auf Kernel 3.1.9-1.4-desktop i686 bleibt der Bootvorgang stehen. Es erscheint der gr...
N24 Stick (Huawei E173) und Ubuntu 11.04
Patrick Obenauer, 11.02.2012 11:54, 1 Antworten
Hallo zusammen! Ich benutze einen alten Laptop, der mit Ubuntu 11.04 flott und problemlos läuft....
Wie kann man beim Einsatz von Compiz die Fenster-Dekoration einstellen?
GoaSkin , 10.02.2012 20:12, 0 Antworten
Hallo, ich nutze Linux Mint mit dem Gnome-Derivat Mate. Da die Distribution Compiz nicht autom...
rndc reload zone - failed bad zone
Ludwig jun. B., 06.02.2012 16:08, 2 Antworten
Schönen guten Tag, ich habe folgendes Problem. Immer wenn ich folgendes Kommando ausführen bek...