Home / LinuxUser / 2002 / 03 / Volkers Editorial

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

Mandriva gibt Distribution in die Hände der Community
(268 Punkte bei 24 Stimmen)
Neues vom Systemd
(161 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.

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.
Einem Freund empfehlen    Druckansicht Bookmark and Share
Kommentare

298 Hits
Wertung: 0 Punkte (0 Stimmen)

Schlecht Gut

Infos zur Publikation

Infos zur Publikation

LinuxUser 06/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

Adobe AIR
Adobe-AIR-Programme installieren und (manuell) starten
Tim Schürmann, 14.05.2012 13:09, 0 Kommentare

Es gibt sie noch: neue Anwendungen, die Adobes Integrated Runtime voraussetzen. Aktuellstes und vermutlich auch größtes Beispiel ist das Adventure Botanicula

Aktuelle Fragen

gibt es ein Kommandozeilen Tool, um ein X11-Fenster in ein Anderes einzubetten?
GoaSkin , 21.05.2012 16:44, 0 Antworten
Das XEmbed-Protokoll ist u.A. dazu gedacht, dass man eine X11-Anwendung in eine andere wie ein Wi...
Apache2, Options -Indexes geht nicht
no no, 12.05.2012 19:01, 8 Antworten
Habe in apache2.conf folgendes stehen: Options -Indexes ...
LInux auf Dell LS H500
Andreas Endresl, 09.05.2012 08:54, 2 Antworten
Habe einen alten Dell Latitude LS H500 nur mit ext. Floppy und CD es geht nur immer eines von den...
Datenwiederherstellung unter Ubuntu 12.04 mit "Simple Backup" nach Umzug von Linux Mint
Christian Lottmann, 07.05.2012 13:33, 0 Antworten
Vor dem Umzug auf Ubuntu 12.04 habe ich unter Linux MInt mit "Simple Backup" voll (15.4.2012) und...
DKMS für den propritären NVIDIA-Treiber
Commander Data, 26.04.2012 22:02, 2 Antworten
Hallo an die Gemeinde. Ich habe hier ein interessantes Stück openSuSE gefunden. http://forums.op...