eMail und die Detektive

Volkers Editorial

01.03.2002
Lange her und schon fast vergessen sind die Hilfsmittel, mit denen die ersten E-Mails verschickt wurden. Bei der damaligen Technik musste noch viel "zu Fuß" gemacht werden. Heute haben wir es - Linux sei Dank - viel einfacher. Doch ein Blick zurück lehrt uns, sich an die eine oder andere Schraube zu erinnern, an der damals noch von Hand gedreht wurde…

Schon fast etwas nostalgisch blicke ich auf meine erste Internet-Erfahrung zurück: Das war an einem Text-Terminal (an Grafik war gar nicht zu denken) an einer HP-UX-Maschine, und eine E-Mail verschickte man damals nur mit:

mail adressat@maschine < nachrichten-datei

Dabei wurde nachrichten-datei natürlich vorher mit dem vi-Editor erstellt - nur die Profis arbeiteten damals mit emacs - durften sie aber nicht immer, denn emacs verballerte etwa ein Zehntel des Hauptspeichers unseres Zentralrechners, und nicht selten geriet man aneinander, weil jemand mit seinem emacs 2 MB Hauptspeicher wegfraß. Ich war jedenfalls stolz wie Oscar, als ich die ersten Mails mit einem alten Schulfreund in Amerika wechselte. In dieser frühen Zeit war das mit das schnellste Mittel mitzuteilen, wie die Spiele in der Bundesliga ausgegangen waren. Auch eine der schönen Sachen war die Möglichkeit, mit talk persönliche Kontakte in die ganze Welt aufrecht zu erhalten. Ich habe eine Bekannte in Ecuador, und wenn Ecuador mal gerade nicht wieder im Krieg mit Peru lag [1], konnte ich mich mit dem talk-Kommando sehr gut mit ihr unterhalten. Angesichts der heutigen Möglichkeiten mit Chaträumen, IRC [3] etc. schon fast lächerlich - aber so war es nun einmal. So sparte man sich die damals noch ungeheuerlichen Telefonkosten für Überseegespräche. Etwas nervig waren nur die unterschiedlichen Realitäten der verschiedenen Zeitzonen mit einem Unterschied von unzähligen Stunden: Da war der andere noch nicht ganz aus den Federn, während ich schon längst an Feierabend dachte… Das ist wie Vergangenheit und Zukunft gleichzeitig - nur anstrengender.

Zeilenumbrüche

Ebenso gab es damals auch schon die unterschiedlichsten Maschinen, die alle die unterschiedlichsten Standards verwendeten. So hatte ich oft Mails, in denen jegliche Zeilenumbrüche fehlten. Das konnte beim Lesen schon sehr nervig sein, denn so ein Textbildschirm kippte nach 80 Zeichen einfach in die nächste Zeile - sehr zur Freude der Wörter, die mittendrin zerschnitten wurden und etliche Zentimeter weiter links weitergingen - oder (je nach Einstellung) nach dem Ende der Zeile wurde der Rest erst gar nicht mehr angezeigt.

Die Rettung für solche Schlangen-eMails war damals das Kommandopaar expand und fold: Mit expand ließen sich die lästigen Tabulatoren in Leerzeichen umwandeln, und mit dem fold-Kommando bekam man schließlich auch die Zeilenumbrüche auf eine Art und Weise hin, bei der die Wörter keinen so großen Schaden nehmen. Doch schauen wir uns zuerst expand an:

Das Dumme an den Tabulatoren ist, dass so ziemlich jeder seine eigene Einstellung dafür bevorzugt. Manche haben einen Abstand von acht Zeichen, manche nur zwei; jeder macht das halt anders. Die Datei text_mit_tab.txt enthalte z. B. zwischen jedem Wort einen Tabulator.

Datei text_mit_tab.txt

In[Tab]diesem[Tab]Text[Tab]erscheinen[Tab]viele[Tab]Tabulatoren.

Um diese Tabulatoren auszumerzen, bedarf es nur eines einfachen

expand text_mit_tab.txt > text_ohne_tab.txt

Wenn man sich diese ansieht, scheint man nichts gewonnen zu haben:

text_mit_tab.txt nach Anwendung von

expand
In      diesem  Text    erscheinen      viele   Tabulatoren.

Doch hier hilft ein weiteres Kommando: Der sed-Befehl kann nämlich auf einfache Art und Weise n-fache Leerzeichen in einzelne verwandeln. Der folgende Aufruf wird genutzt, um dreimal hintereinander (deshalb das Tripel desselben Teil s/ / /g getrennt durch Semikoli) ein doppeltes Leerzeichen in ein einfaches zu wandeln. So macht man aus acht vier, aus vier zwei und aus den restlichen zwei eines:

sed "s/  / /g;s/  / /g;s/  / /g" text_ohne_tab.txt > text.txt

Wem die Funktionsweise noch nicht ganz klar ist, der sollte erstmal

sed "s/  / /g" text_ohne_tab.txt > text.txt

probieren. Dann wird an der Ausgabe klar, dass ein einfaches Benutzen von s/ / /g nicht reicht, denn es wird nur die Anzahl von aufeinander folgenden Leerzeichen halbiert aber nicht auf ein einfaches Leerzeichen gebracht.

text.txt mit ein- und dreifachem

s/ / /g

im

sed
In   diesem Text  erscheinen   viele  Tabulatoren.
In diesem Text erscheinen viele Tabulatoren.

Sauberes Abschneiden

Danach können wir unsere Datei nun mit sauberen Zeilenumbrüchen versehen. An unserer Beispieldatei seien das mal nur 20 Zeichen, damit man etwas sieht. Die einfache Anwendung des fold-Kommandos für 20 Zeichen sieht so aus:

fold -20 text.txt

Das sieht nun eher wie eine missglückte Quadratur des Kreises aber nicht wie eine gelungene Formatierung aus:

$ fold -20 text.txt
In diesem Text ersch
einen viele Tabulato
ren.

Erst die Benutzung der Option -s sorgt dafür, dass das fold-Kommando nicht versucht ist, mitten im Wort umzubrechen, sondern statt beim 20. Zeichen beim letzten Leerzeichen davor.

$ fold -20 -s text.txt
In diesem Text
erscheinen viele
Tabulatoren.

Und das Ganze gibt es dann auch noch als Einzeiler, wodurch die lästigen Zwischendateien entfallen:

$ expand tabtext.txt | sed "s/ / /g;s/ / /g;s/ / /g" | fold -s -20
In diesem Text
erscheinen viele
Tabulatoren.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

Kommentare

Infos zur Publikation

title_2014_10

Digitale Ausgabe: Preis € 4,95
(inkl. 19% MwSt.)

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

HINWEIS ZU PAYPAL: Die Zahlung ist auch ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!       

Tipp der Woche

Schnell Multi-Boot-Medien mit MultiCD erstellen
Schnell Multi-Boot-Medien mit MultiCD erstellen
Tim Schürmann, 24.06.2014 12:40, 0 Kommentare

Wer mehrere nützliche Live-Systeme auf eine DVD brennen möchte, kommt mit den Startmedienerstellern der Distributionen nicht besonders weit: Diese ...

Aktuelle Fragen

Windows 8 startet nur mit externer Festplatte
Anne La, 10.09.2014 17:25, 4 Antworten
Hallo Leute, also, ich bin auf folgendes Problem gestoßen: Ich habe Ubuntu 14.04 auf meiner...
Videoüberwachung mit Zoneminder
Heinz Becker, 10.08.2014 17:57, 0 Antworten
Hallo, ich habe den ZONEMINDER erfolgreich installiert. Das Bild erscheint jedoch nicht,...
internes Wlan und USB-Wlan-Srick
Gerhard Blobner, 04.08.2014 15:20, 2 Antworten
Hallo Linux-Forum: ich bin ein neuer Linux-User (ca. 25 Jahre Windows) und bin von WIN 8 auf Mint...
Server antwortet mit falschem Namen
oin notna, 21.07.2014 19:13, 1 Antworten
Hallo liebe Community, Ich habe mit Apache einen Server aufgesetzt. Soweit, so gut. Im Heimnet...
o2 surfstick software für ubuntu?
daniel soltek, 15.07.2014 18:27, 1 Antworten
hallo zusammen, habe mir einen o2 surfstick huawei bestellt und gerade festgestellt, das der nic...