Linux-Befehle bzcmp, bzdiff, bzmore, bzless und bzgrep mit Beispielen erläutert

Während das bzip2-Befehlszeilenprogramm zum Komprimieren von Dateien verwendet werden kann, gibt es viele andere Tools, mit denen Sie grundlegende Aufgaben – wie den Vergleich solcher Dateien – durchführen können, ohne sie entpacken zu müssen. Hier, in diesem Tutorial, werden wir die Grundlagen der Befehle bzcmp, bzdiff, bzmore, bzless und bzgrep anhand einiger leicht verständlicher Beispiele diskutieren.

Aber bevor wir das tun, ist es erwähnenswert, dass alle Beispiele in diesem Artikel auf einem Ubuntu 18.04 LTS-Rechner getestet wurden.

Linux bzcmp, bzdiff, bzmore, bzless und bzgrep Befehle

Wir werden jeden dieser Befehle im Q&A-Stil besprechen.

Q1. Wie funktionieren die Befehle bzcmp und bzdiff?

Wie der Name schon sagt, werden diese Befehle zum Vergleichen von .bz2-Dateien verwendet. Folgendes ist ihre Syntax:

bzcmp [ cmp_options ] file1 [ file2 ]
bzdiff [ diff_options ] file1 [ file2 ]

Und hier ist, was die Man Page über sie sagt:

       Bzcmp  and  bzdiff  are  used  to invoke the cmp or the diff program on
       bzip2 compressed files.  All options specified are passed  directly  to
       cmp  or diff.  If only 1 file is specified, then the files compared are
       file1 and an uncompressed file1.bz2.  If two files are specified,  then
       they  are  uncompressed  if necessary and fed to cmp or diff.  The exit
       status from cmp or diff is preserved.

Hier ist ein grundlegendes Beispiel für bzcmp und bzdiff:

bzcmp file1.bz2 file2.bz2
bzdiff file1.bz2 file2.bz2

Und der folgende Screenshot zeigt die Ausgabe dieser Befehle:

Wie die Befehle bzcmp und bzdiff funktionieren

Während diese Befehle keine expliziten Befehlszeilenoptionen anbieten, können Sie die Optionen von cmp- und diff-Befehlen verwenden (da diese Werkzeuge intern durch die Befehle bzcmp und bzdiff aufgerufen werden).

Q2. Wie funktionieren bzmore und bzless Befehle?

Genau wie immer mehr und weniger sind sowohl bzmore als auch bzless Filter für die CRT-Anzeige, aber für komprimierte bz2-Dateien. Um dir eine noch bessere Idee zu geben, hier ist ein Auszug aus der Manpage von bzmore:

       Bzmore is a filter which allows examination of compressed or plain text
       files one screenful at a time on a soft-copy terminal.  bzmore works on
       files  compressed with bzip2 and also on uncompressed files.  If a file
       does not exist, bzmore looks for a file of the same name with the addi?
       tion of a .bz2 suffix.

Bzmore  normally  pauses after each screenful, printing –More– at the
bottom of the screen.  If the user then types a  carriage  return,  one
more line is displayed.  If the user hits a space, another screenful is
displayed.  Other possibilities are enumerated later.

Natürlich können Sie diese Befehle auch verwenden, um eine komprimierte Datei einfach anzuzeigen. Hier ist ein Beispiel:

Wie bzmore und bzless Befehle funktionieren

Q3. Wie funktioniert der Befehl bzgrep?

Wie du inzwischen vermutet hast, funktioniert bzgrep auch nach den Zeilen anderer Befehle der bz-Serie, die wir hier erläutert haben. Insbesondere ist es grep, aber für komprimierte Dateien. Nachfolgend ein Auszug aus der Manualseite dieses Befehls:

       Bzgrep is used to  invoke  the  grep  on  bzip2-compressed  files.  All
       options  specified  are  passed directly to grep.  If no file is speci?
       fied, then the standard input is decompressed if necessary and  fed  to
       grep.   Otherwise the given files are uncompressed if necessary and fed
       to grep.

Hier ist ein Beispiel für die Verwendung von bzgrep:

bzgrep "menu" file1.bz2

Der folgende Screenshot zeigt die Ausgabe:

So funktioniert der Befehl bzgrep

Fazit

Wenn Sie es also mit komprimierten Dateien (.bz2) zu tun haben und grundlegende Funktionen wie Suchen, Vergleichen und mehr ausführen möchten, können Sie diese Befehle verwenden. Wir haben hier die Grundlagen besprochen. Weitere Informationen zu diesen Tools findest du auf den Man Pages (hier, hier und hier).

Das könnte dich auch interessieren …