En este artículo, revisemos cómo realizar una operación de archivo normal en archivos comprimidos usando los poderosos comandos Z de Linux.
Algunos de estos comandos z descomprimen el archivo temporalmente en el directorio /tmp para realizar la operación especificada. Algunos de los comandos z lo descomprimen sobre la marcha para realizar la operación especificada. Pero, en cualquier caso, los comandos z brindan tranquilidad, ya que no desea preocuparse por la sobrecarga de descomprimir el archivo comprimido para realizar una operación.
Puede realizar las siguientes operaciones de archivo normales en el archivo comprimido
- Viendo el archivo comprimido con zcat.
- Paginación del archivo comprimido con zless / zmore.
- Buscando dentro del archivo comprimido con zgrep / zegrep.
- Comparación de archivo usando zdiff / zcmp
Ejemplo 1:Ver archivo comprimido y descomprimir con zcat
Al comprimir un archivo con gzip se crea un archivo comprimido con la extensión *.gz. Puede ver un archivo comprimido con zcat de la siguiente manera. Lo que sería lo mismo que la operación de archivo sin comprimir 'cat filename'. zcat descomprime el archivo y lo muestra en la salida estándar.
$ zcat filename.gz | more
$ ls -l big-file.* -rw-r--r-- 1 ramesh ramesh 24853275 May 9 15:14 big-file.txt $ gzip big-file.txt [Note: Compress the file] $ ls -l big-file.* -rw-r--r-- 1 ramesh ramesh 9275204 May 9 15:14 big-file.txt.gz $ zcat big-file.txt.gz [Note: View the file without uncompressing it] zcat big-file.txt.gz > big-file.txt [Note: Uncompress the file]
Ejemplo 2:Ver un archivo comprimido con gzip que no tiene el sufijo gz.
Puede descomprimir un archivo comprimido con gzip que no tenga el sufijo gz. Si intenta descomprimir un archivo comprimido con gzip que no tiene el sufijo gz con el comando "gunzip" o "gzip -d", se encontrará con el siguiente error.
gunzip: auth.log: unknown suffix -- ignored
Pero este zcat descomprimirá el archivo y mostrará el contenido como se muestra a continuación.
$ cat > test-file.txt This is a test file used for gunzip and zcat testing zcat is awesome command. $ gzip test-file.txt $ mv test-file.txt.gz test-file-no-ext $ gzip -d test-file-no-ext gzip: test-file-no-ext: unknown suffix -- ignored $ zcat test-file-no-ext This is a test file used for gunzip and zcat testing zcat is awesome command.
Ejemplo 3:Mostrar el contenido del archivo sin preocuparse de si está comprimido o no
Cuando no esté seguro de si un archivo está comprimido o no, aún puede verlo sin preocuparse por su estado de compresión, como se muestra a continuación.
En este ejemplo, si el archivo de entrada está comprimido, zcat mostrará el contenido descomprimiéndolo. Si el archivo de entrada no está comprimido, zcat mostrará el contenido tal como está.
$ zcat -f input-file
Ejemplo 4:Paginación del archivo comprimido con zless / zmore.
Puede paginar un archivo comprimido con el comando zless o el comando zmore como se muestra a continuación.
$ zcat filename.gz | more $ zcat filename.gz | less (or) $ zless filename.gz $ zmore filename.gz
Nota: Para abrir cualquier tipo de archivo, consulte nuestro artículo anterior Abrir y ver 10 tipos de archivos diferentes con Linux Less Command:The Ultimate Power of Less.
Ejemplo 5:Búsqueda dentro del archivo comprimido con zgrep / zegrep.
Puede buscar dentro de un archivo comprimido con zgrep/zegrep como se muestra a continuación. Esto sería lo mismo que la operación de archivo sin comprimir 'grep -i filename'. Todas las opciones del comando zgrep se pasarán a grep y el archivo se enviará al comando grep. Puede descomprimir y enviar el archivo al comando grep si es necesario.
$ cat > test-file.txt gzip, gunzip, zcat - compress or expand files zless - file perusal filter for crt viewing of compressed text zcmp, zdiff - compare compressed files $ grep -i less test-file.txt zless - file perusal filter for crt viewing of compressed text $ gzip test-file.txt $ zgrep -i less test-file.txt.gz zless - file perusal filter for crt viewing of compressed text
Nota: Familiarícese con el comando grep leyendo nuestro artículo anterior ¡Consiga un control sobre el Grep! – 15 ejemplos prácticos de comandos Grep.
Ejemplo 6:Comparación de archivo usando zdiff / zcmp
Puede comparar dos archivos comprimidos con zdiff/zcmp como se muestra a continuación. Esto sería lo mismo que la operación de archivo sin comprimir 'diff file1 file2'.
$ cat > file1.txt This is line one This is line two $ cat > file2.txt This is line 1 This is line two $ diff file1.txt file2.txt 1c1 < This is line one --- > This is line 1 $ gzip file1.txt file2.txt $ zdiff file1.txt.gz file2.txt.gz 1c1 < This is line one --- > This is line 1
Este artículo fue escrito por SathiyaMoorthy , autor de los artículos Vi / Vim Tips and Tricks. The Geek Stuff agradece sus consejos y artículos de invitados.