Komprimierte Textdateien

Aus LinuxUser 06/2008

Komprimierte Textdateien

Dichter dran

Gzip und Bzip2 komprimieren nicht nur Daten, sondern liefern auch kleine, feine Tools zum Betrachten, Durchsuchen und Vergleichen komprimierter Textdateien mit.

Komprimierte Dateien sparen Platz – nicht nur bei der Datenübertragung, sondern auch auf der eigenen Platte. Die am häufigsten verwendeten Komprimierungstools heißen Gzip und Bzip2; Tipps und Tricks zu den beiden Programmen zeigt eine ältere Zu-Befehl-Folge aus dem Jahr 2005 [1]. Mit im Paket sind dabei zahlreiche Tools zur weiteren Anwendung der gepackten Daten: Ob Sie einen kurzen oder langen Blick riskieren, die Dateien nach Suchmustern durchforsten oder miteinander vergleichen möchten – Linux hat die passenden Werkzeuge an Bord.

Erstausgabe

Das Programm Cat gibt unter anderem Textdateien auf der Standardausgabe aus [2]. Komprimierte Textdateien müssen Sie aber nicht erst umständlich auspacken: Zcat gibt mit Gzip, Bzcat mit Bzip2 gepackte Textdateien auf dem Bildschirm aus:

$ zcat /var/log/apache2/access.log.10.gz

Sowohl Zcat als auch Bzcat verändern die Originaldatei dabei nicht. Anders als man erwarten könnte eignen sich die beiden Tools allerdings nicht dazu, komprimierte Dateien aneinanderzuhängen. Der Befehl

$ zcat txt1.gz txt2.gz >> txt3.gz

liefert als Ergebnis nicht etwa eine komprimierte Datei datei3.gz, sondern – wie der Aufruf file datei3.gz verrät – eine ganz normale, nicht gepackte Textdatei. Auch Bzcat produziert auf diese Weise lediglich eine Textdatei, so dass für das “Aneinanderkleben” von komprimierten Dateien wie gewohnt das Programm Cat zum Einsatz kommt (Abbildung 1).

Abbildung 1: Um komprimierte Dateien aneinander zu hängen, verwenden Sie wie gewohnt den Befehl     <code srcset=

cat.” width=”300″ height=”66″ /> Abbildung 1: Um komprimierte Dateien aneinander zu hängen, verwenden Sie wie gewohnt den Befehl cat.

Seitenweise

Möchten Sie längere Textdateien in Ruhe am Bildschirm betrachten, darin blättern oder nach etwas suchen, greifen Sie nicht zu Cat, sondern eher zu einem Pager wie More oder Less [2]. Das Äquivalent für komprimierte Textdateien kommt in Form von Zmore/Zless beziehungsweise Bzmore/Bzless.

Sämtliche von den beiden Pagern her gewohnte Tastaturkürzel zur Bedienung funktionieren wie gewohnt: Mit der Leertaste beziehungsweise den Pfeiltasten blättern Sie, ein Druck auf [H] blendet eine Hilfe ein, und mit [Q] verlassen Sie das jeweilige Programm. Auch die Umgebungsvariablen $MORE beziehungsweise $LESS fühlen sich für die Tools zuständig. In diesen Variablen definieren Sie das Standardverhalten (also die standardmäßig gesetzten Aufrufoptionen) für die Pager.

Reingeschaut

Zum Aufspüren von Wörtern und Ausdrücken in Textdateien empfiehlt sich das Programm Grep [3]. Handelt es sich um komprimierte Texte, so bieten Gzip und Bzip2 eine praktische Lösung in Form von Zgrep beziehungsweise Bzgrep. Beide Tools verstehen die von Grep her bekannten Aufrufparameter, wie zum Beispiel --color (färbt die Fundstellen ein), -i (keine Unterscheidung mehr zwischen Groß- und Kleinschreibung), -r (durchsucht ganze Ordnerhierarchien rekursiv) und so weiter.

Praktisch ist, dass beide Tools auch die Grep-Umgebungsvariablen auswerten. Falls Sie beispielsweise mit GREP_OPTIONS das Standardverhalten des Tools definiert oder mit GREP_COLOR eigene Farben eingestellt haben, verstehen auch Zgrep und Bzgrep diese Anweisungen.

Vergleichsweise

Zum Vergleichen von Dateien auf der Shell verwenden Sie Cmp oder Diff [4]. Entsprechend stehen Ihnen für komprimierte Dateien die Tools Zcmp/Bzcmp und Zdiff/Bzdiff zur Verfügung (Abbildung 2). Alle vier Programme verstehen die gebräuchlichen Diff- und Cmp-Parameter und vergleichen zwei angegebene Dateien miteinander.

Abbildung 2: Unterschiede zwischen verschiedenen Versionen der komprimierten Text finden Sie schnell und problemlos über Zdiff oder Bzdiff heraus.

Abbildung 2: Unterschiede zwischen verschiedenen Versionen der komprimierten Text finden Sie schnell und problemlos über Zdiff oder Bzdiff heraus.

Infos

[1] Gzip und Bzip2: Heike Jurzik, “Verpackungskünstler”, LinuxUser 10/2005, S. 93, http://www.linux-user.de/ausgabe/2005/10/093-zubefehl/

[2] Textdateien in der Shell: Heike Jurzik, “Nachgelesen”, 01/2006, S. 94, http://www.linux-user.de/ausgabe/2006/01/094-moreless/

[3] Grep: Heike Jurzik, “Stecknadel im Heuhaufen”, LinuxUser 05/2004, S. 76, http://www.linux-user.de/ausgabe/2004/05/076-zubefehl/

[4] Diffutils: Heike Jurzik, “Der kleine Unterschied”, LinuxUser 11/2006, S. 94, http://www.linux-user.de/ausgabe/2006/11/094-zubefehl-diff/

LinuxUser 06/2008 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben