Si bien la utilidad de línea de comandos bzip2 se puede usar para comprimir archivos, existen muchas otras herramientas que le permiten realizar tareas básicas, como comparar dichos archivos, sin necesidad de descomprimirlos. Aquí, en este tutorial, discutiremos los conceptos básicos de los comandos bzcmp, bzdiff, bzmore, bzless y bzgrep usando algunos ejemplos fáciles de entender.
Pero antes de hacerlo, vale la pena mencionar que todos los ejemplos de este artículo se probaron en una máquina con Ubuntu 18.04 LTS.
Comandos de Linux bzcmp, bzdiff, bzmore, bzless y bzgrep
Discutiremos cada uno de estos comandos utilizando el estilo de presentación de preguntas y respuestas.
P1. ¿Cómo funcionan los comandos bzcmp y bzdiff?
Como sugieren sus nombres, estos comandos se utilizan para comparar archivos .bz2. La siguiente es su sintaxis:
bzcmp [ cmp_options ] file1 [ file2 ]
bzdiff [ diff_options ] file1 [ file2 ]
Y esto es lo que dice la página del manual sobre ellos:
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.
Aquí hay un ejemplo básico de bzcmp y bzdiff:
bzcmp file1.bz2 file2.bz2
bzdiff file1.bz2 file2.bz2
Y la siguiente captura de pantalla muestra el resultado producido por estos comandos:
Si bien estos comandos no ofrecen explícitamente ninguna opción de línea de comandos, puede usar las opciones de los comandos cmp y diff (ya que estas herramientas son invocadas internamente por los comandos bzcmp y bzdiff).
P2. ¿Cómo funcionan los comandos bzmore y bzless?
Al igual que más y menos, tanto bzmore como bzless son filtros para visualización CRT, pero para archivos bz2 comprimidos. Para darle una idea aún mejor, aquí hay un extracto sobre bzmore de su página de manual:
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.
Por supuesto, también puede usar estos comandos para simplemente ver un archivo comprimido. He aquí un ejemplo:
P3. ¿Cómo funciona el comando bzgrep?
Como ya habrá adivinado, bzgrep también funciona en las líneas de otros comandos de la serie bz que hemos explicado aquí. Específicamente, es grep, pero para archivos comprimidos. El siguiente es un extracto de la página man de este comando:
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.
Aquí hay un ejemplo de uso de bzgrep:
bzgrep "menu" file1.bz2
La siguiente captura de pantalla muestra el resultado:
Conclusión
Entonces, si está tratando con archivos comprimidos (.bz2) y desea realizar operaciones básicas como buscar, comparar y más, puede usar estos comandos. Hemos discutido los conceptos básicos aquí. Para obtener más información sobre estas herramientas, diríjase a sus páginas man (aquí, aquí y aquí).