Zatímco nástroj příkazového řádku bzip2 lze použít ke kompresi souborů, existuje mnoho dalších nástrojů, které vám umožní provádět základní úkoly – jako je porovnávání takových souborů – bez nutnosti je dekomprimovat. Zde v tomto tutoriálu probereme základy příkazů bzcmp, bzdiff, bzmore, bzless a bzgrep na několika snadno srozumitelných příkladech.
Ale než to uděláme, stojí za zmínku, že všechny příklady v tomto článku byly testovány na počítači Ubuntu 18.04 LTS.
Příkazy bzcmp, bzdiff, bzmore, bzless a bzgrep pro Linux
Každý z těchto příkazů probereme pomocí prezentace ve stylu Q&A.
O1. Jak fungují příkazy bzcmp a bzdiff?
Jak jejich názvy napovídají, tyto příkazy se používají pro porovnávání souborů .bz2. Následuje jejich syntaxe:
bzcmp [ cmp_options ] file1 [ file2 ]
bzdiff [ diff_options ] file1 [ file2 ]
A zde je to, co o nich říká manuálová stránka:
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.
Zde je základní příklad bzcmp a bzdiff:
bzcmp file1.bz2 file2.bz2
bzdiff file1.bz2 file2.bz2
A následující snímek obrazovky ukazuje výstup vytvořený těmito příkazy:
I když tyto příkazy explicitně nenabízejí žádné možnosti příkazového řádku, můžete použít možnosti z příkazů cmp a diff (protože tyto nástroje jsou interně vyvolány příkazy bzcmp a bzdiff).
Q2. Jak fungují příkazy bzmore a bzless?
Stejně jako více a méně, i bzmore i bzless jsou filtry pro zobrazení CRT, ale pro komprimované soubory bz2. Abyste měli ještě lepší představu, zde je výňatek o bzmore z jeho manuálové stránky:
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.
Tyto příkazy můžete samozřejmě použít také k jednoduchému zobrazení komprimovaného souboru. Zde je příklad:
Q3. Jak funguje příkaz bzgrep?
Jak jste již uhodli, bzgrep funguje také na řádcích jiných příkazů řady bz, které jsme zde vysvětlili. Konkrétně je to grep, ale pro komprimované soubory. Následuje výňatek z manuálové stránky tohoto příkazu:
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.
Zde je příklad použití bzgrep:
bzgrep "menu" file1.bz2
Následující snímek obrazovky ukazuje výstup:
Závěr
Pokud tedy pracujete s komprimovanými soubory (.bz2) a chcete provádět základní operace, jako je vyhledávání, porovnávání a další, můžete použít tyto příkazy. Probrali jsme zde základy. Pro více informací o těchto nástrojích přejděte na jejich manuálové stránky (zde, zde a zde).