Explicación de los comandos bzcmp, bzdiff, bzmore, bzless y bzgrep de Linux con ejemplos
Aunque la utilidad de línea de comandos bzip2 puede utilizarse para comprimir archivos, existen muchas otras herramientas que te permiten realizar tareas básicas -como comparar dichos archivos- sin necesidad de descomprimirlos. En este tutorial hablaremos de los fundamentos de los comandos bzcmp, bzdiff, bzmore, bzless y bzgrep utilizando algunos ejemplos fáciles de entender.
Pero antes de hacerlo, vale la pena mencionar que todos los ejemplos de este artículo se han probado en una máquina Ubuntu.
Comandos bzcmp, bzdiff, bzmore, bzless y bzgrep de Linux
Discutiremos cada uno de estos comandos utilizando un estilo de presentación de preguntas y respuestas.
Q1. ¿Cómo funcionan los comandos bzcmp y bzdiff?
Como su nombre indica, estos comandos se utilizan para comparar archivos .bz2. A continuación se muestra su sintaxis:
bzcmp [ cmp_options ] file1 [ file2 ] bzdiff [ diff_options ] file1 [ file2 ]
Y esto es lo que dice la página man 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í tienes 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 la salida producida por estos comandos:
Aunque estos comandos no ofrecen explícitamente ninguna opción de línea de comandos, puedes utilizar las opciones de los comandos cmp y diff (ya que estas herramientas son invocadas internamente por los comandos bzcmp y bzdiff).
Q2. ¿Cómo funcionan los comandos bzmore y bzless?
Al igual que more y less, tanto bzmore como bzless son filtros para la visualización de CRT, pero para archivos bz2 comprimidos. Para que te hagas una idea aún mejor, aquí tienes un extracto sobre bzmore de su página man:
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 puedes utilizar estos comandos para ver simplemente un archivo comprimido. Aquí tienes un ejemplo:
Q3. ¿Cómo funciona el comando bzgrep?
Como ya habrás adivinado, bzgrep también funciona en la línea de otros comandos de la serie bz que hemos explicado aquí. Concretamente, es grep, pero para archivos comprimidos. A continuación se muestra 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í tienes un ejemplo de uso de bzgrep:
bzgrep "menu" file1.bz2
La siguiente captura de pantalla muestra la salida:
Conclusión
Por tanto, si trabajas con archivos comprimidos (.bz2) y quieres realizar operaciones básicas como buscar, comparar, etc., puedes utilizar estos comandos. Aquí hemos tratado lo básico. Para más información sobre estas herramientas, consulta sus páginas man(aquí, aquí y aquí).