In questo articolo esaminiamo come eseguire normali operazioni su file compressi utilizzando i potenti comandi Z di Linux.
Alcuni di questi comandi z decomprimono temporaneamente il file nella directory /tmp per eseguire l'operazione specificata. Alcuni dei comandi z lo decomprimono al volo per eseguire l'operazione specificata. Ma, in ogni caso, i comandi z offrono la massima tranquillità, poiché non vuoi preoccuparti del sovraccarico di decompressione del file compresso per eseguire un'operazione.
Puoi eseguire le seguenti normali operazioni sui file sul file compresso
- Visualizzazione del file compresso con zcat.
- Paginazione del file compresso con zless / zmore.
- Ricerca all'interno del file compresso con zgrep / zegrep.
- Confronto di file usando zdiff / zcmp
Esempio 1:Visualizza file compresso e decomprimi con zcat
La compressione di un file utilizzando gzip crea un file compresso con estensione *.gz. Puoi visualizzare un file compresso con zcat nel modo seguente. Che sarebbe uguale all'operazione di file non compresso "cat filename". zcat decomprime il file e lo mostra nello stdout.
$ 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]
Esempio 2:Visualizza un file gzippato che non ha il suffisso gz.
Puoi decomprimere un file gzippato che non ha il suffisso gz. Se provi a decomprimere un file gzip che non ha il suffisso gz con il comando "gunzip" o "gzip -d", dovrai affrontare il seguente errore.
gunzip: auth.log: unknown suffix -- ignored
Ma questo zcat decomprimerà il file e mostrerà il contenuto come mostrato di seguito.
$ 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.
Esempio 3:mostra il contenuto del file senza preoccuparti se è compresso o meno
Quando non sei sicuro se un file è compresso o meno, puoi comunque visualizzare il file senza preoccuparti del suo stato di compressione, come mostrato di seguito.
In questo esempio, se il file di input è compresso, zcat visualizzerà il contenuto decomprimendolo. Se il file di input non è compresso, zcat visualizzerà il contenuto così com'è.
$ zcat -f input-file
Esempio 4:paging del file compresso con zless / zmore.
Puoi impaginare un file compresso con il comando zless o zmore come mostrato di seguito.
$ zcat filename.gz | more $ zcat filename.gz | less (or) $ zless filename.gz $ zmore filename.gz
Nota: Per aprire qualsiasi tipo di file, fai riferimento al nostro articolo precedente Apri e visualizza 10 diversi tipi di file con Linux Less Command:il massimo potere di Less.
Esempio 5:ricerca all'interno del file compresso con zgrep / zegrep.
Puoi cercare all'interno di un file compresso con zgrep / zegrep come mostrato di seguito. Questo sarebbe lo stesso dell'operazione di file non compresso 'grep -i filename'. Tutte le opzioni del comando zgrep verranno passate a grep e il file verrà inviato al comando grep. Potrebbe decomprimere e inviare il file al comando grep, se necessario.
$ 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: Acquisisci familiarità con il comando grep leggendo il nostro articolo precedente Prendi una presa su Grep! – 15 Esempi pratici di comandi Grep.
Esempio 6:confronto di file utilizzando zdiff / zcmp
Puoi confrontare due file compressi con zdiff / zcmp come mostrato di seguito. Questo sarebbe lo stesso dell'operazione di file non compresso "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
Questo articolo è stato scritto da SathiyaMoorthy , Autore di articoli su Vi / Vim Tips and Tricks. The Geek Stuff accoglie con favore i tuoi suggerimenti e gli articoli degli ospiti.