Home / Online-Artikel / LinuxUser-Spezial / 2010 / 01 / Textberge bewältigen

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

Warum tut sich die Software-Industrie mit 64Bit so schwer ?
(266 Punkte bei 22 Stimmen)
Re: Failsave?
(211 Punkte bei 7 Stimmen)
Failsave?
(207 Punkte bei 6 Stimmen)
Re: Failsave?
(168 Punkte bei 6 Stimmen)
Rewrite
(158 Punkte bei 11 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.
AA_textberg_sxc-srbichara_1013123.jpg

© Sergio Roberto Bichara,sxc.hu

Textberge bewältigen

Textwerkzeuge und Textfilterung

22.03.2010 Genießen Sie einen Crashkurs in den Textbeararbeitungs- und Filterfunktionen der Linux-Shell, der Sie auch die schlimmsten Textberge bewältigen lässt.

Egal ob Konfigurations-, Logdatei oder Adressbuch – viele Dinge lassen sich in einer Shell effizient mit einfachen Textdateien lösen. Dieser Artikel behandelt die Fülle an Linux Kommandozeilen-Tools, die Texte verbinden, sortieren, umleiten oder analysieren.

wc

Der Befehl wc (word count) ist ein einfacher Filter, um die Anzahl der Zeilen, Schriftzeichen (Bytes) oder Wörter in einer Datei zu ermitteln. Meistens benutzt man den Befehl, um die Zeilen einer Textdatei zu zählen, dazu benutzt man einfach wc -l:

$ wc -l kern.log
1026 kern.log

Wenn Sie keinen Dateinamen angeben, liest wc aus der Standardeingabe. Diese Funktion verwenden wir im folgenden nützlichen Ausdruck für das Zählen der Dateien in einem Verzeichnis:

$ ls | wc -l
138

Die Anzahl der Bytes in einer Datei ermitteln Sie mit wc -c:

$ wc -c kern.log
106932 kern.log

Die Verwendung von wc -c bei einer einzigen Datei ist zugegebenermaßen nicht besonders interessant – die gleiche Information finden Sie auch in der Ausgabe von ls -l. Wenn Sie aber wc mit dem find-Befehl kombinieren, erhalten Sie die Anzahl der Bytes von allen Dateien eines ganzen Verzeichnisbaums:

$ find /var/log -type f -exec wc -c {} \;
79680 /var/log/kern.log.6.gz
3781 /var/log/dpkg.log.4.gz
106932 /var/log/kern.log
…

Zu diesem Beispiel kehren wir später wieder zurück, sehen wir uns aber zuerst noch einige weitere Shell-Tricks an.

head und tail

Ein anderes Paar von einfachen Textverarbeitungsfiltern bilden head und tail, die je nachdem die ersten 10 oder die letzten 10 Zeilen aus einer Eingabe extrahieren. Sie können auch eine größere oder kleinere Anzahl von Zeilen vorgeben. Auch diesen Befehl nutzt man meist in Kombination mit einem anderen Kommando, zum Beispiel um die zuletzt geänderten Dateien aufzulisten:

$ ls -t | head -1
kern.log

Und wenn Sie die letzten paar Zeilen dieser Datei sehen wollen:

$ tail -3 kern.log
Nov 21 09:00:19 elk kernel: [11936.090452] [UFW BLOCK INPUT]: IN=eth0 OUT=…
Nov 21 09:00:21 elk kernel: [11938.083655] [UFW BLOCK INPUT]: IN=eth0 OUT=…
Nov 21 09:00:25 elk kernel: [11942.134431] [UFW BLOCK INPUT]: IN=eth0 OUT=…

Hier ein hübscher kleiner Trick, um durch die Kombination von head in tail eine bestimmte Zeile auszulesen:

$ head -13 /etc/passwd | tail -1
www-data:x:33:33:www-data:/var/www:/bin/sh

In diesem Fall haben wir die dreizehnte Zeile von /etc/passwd über die Pipe (|) als Eingabe von tail weitergeleitet. Eine weitere nützliche Funktion des tail-Befehls ist die Option -f, die wie gewohnt die letzten 10 Zeilen einer Datei angezeigt. Mit -f bleibt die Datei aber geöffnet, und tail zeigt alle neuen Zeilen an, die an das Ende der Datei entstehen. Dies ist besonders nützlich bei Log-Dateien, die Sie in Auge behalten möchten, zum Beispiel tail -f kern.log.

Einem Freund empfehlen    Druckansicht Bookmark and Share
Kommentare
Textwerkzeuge und Textfilterung
R. Amati (unangemeldet), Dienstag, 23. März 2010 08:23:37
Ein/Ausklappen

Alte Hüte und kalter Kaffeeee.

Wie kann man hiermit aehnliche Texte vergleichen und einen Aehnlichkeits-Abstand erzeugen, der zusammen mit dem Text abgelegt wird, wie bei allen anderen Texten die man schon gesammelt haette?

Wie wandelt man hier einen MS-RTF-text in seinen puren Bestandteil (*.txt ohne Formate), so dass man ihn besser vergleichen kann?

... und noch ...
ganz netter Artikel, aber da fehl mir noch Einiges in diesem Artikel.


Bewertung: 46 Punkte bei 3 Stimmen.
Den Beitrag bewerten: Gut / Schlecht

2359 Hits
Wertung: 140 Punkte (8 Stimmen)

Schlecht Gut

Infos zur Publikation

Infos zur Publikation

title_2011_02

Aktuelle Ausgabe kaufen:

Heft bestellen

LinuxUser-Spezial erscheint zwei bis vier mal jährlich und kostet 8,90 EUR pro Ausgabe. Weitere Informationen zum LinuxUser-Spezial finden Sie im Shop der Linux New Media AG.

Tipp der Woche

dd im Terminal
Mit dd schnell Festplattenimages erstellen
Tim Schürmann, 20.02.2012 09:56, 1 Kommentare

Das kleine Werkzeug dd hilft vor allem dann, wenn man nur eine (einfache) LiveCD dabei hat und trotzdem schnell ein Festplattenimage erstellen möchte.

In diesem Fall startet...

Aktuelle Fragen

Warum tut sich die Software-Industrie mit 64Bit so schwer?
GoaSkin , 20.02.2012 08:33, 7 Antworten
Im Zusammenhang mit Open Source ist 64Bit-Unterstützung überhaupt kein Thema. Fast jeden Quellcod...
Dreamlinux in Deutsch
Santana Muggel, 16.02.2012 17:42, 10 Antworten
Liebe Community, ich bin gerade dabei, mir Dreamlinux auf dem Netbook zu installieren. Gefäl...
Ubuntu 11.10 Compiz 3D Cube flackern
Moritz Obenauer, 12.02.2012 11: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 08:22, 6 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 10:54, 1 Antworten
Hallo zusammen! Ich benutze einen alten Laptop, der mit Ubuntu 11.04 flott und problemlos läuft....