この記事では、強力な Linux Z コマンドを使用して、圧縮ファイルに対して通常のファイル操作を実行する方法を確認します。
これらの z コマンドの一部は、/tmp ディレクトリ内のファイルを一時的に解凍して、指定された操作を実行します。一部の z コマンドは、指定された操作を実行するためにオンザフライで圧縮解除します。しかし、どのような場合でも、操作を実行するために圧縮ファイルを解凍するオーバーヘッドについて心配したくないため、z コマンドは安心感を与えてくれます。
圧縮ファイルに対して、次の通常のファイル操作を行うことができます
例 1:圧縮ファイルを表示し、zcat で解凍する
gzip を使用してファイルを圧縮すると、拡張子が *.gz の圧縮ファイルが作成されます。次の方法で、zcat で圧縮ファイルを表示できます。これは、圧縮されていないファイル操作「cat filename」と同じです。 zcat はファイルを解凍し、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]
例 2:gz サフィックスのない gzip ファイルを表示します。
gz サフィックスを持たない gzip ファイルを解凍できます。 「gunzip」または「gzip -d」コマンドを使用して、gz サフィックスのない gzip ファイルを解凍しようとすると、次のエラーが発生します。
gunzip: auth.log: unknown suffix -- ignored
しかし、この zcat はファイルを解凍し、以下に示すようにコンテンツを表示します。
$ 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.
例 3:圧縮されているかどうかを気にせずにファイルの内容を表示する
ファイルが圧縮されているかどうかわからない場合でも、以下に示すように圧縮状態を気にせずにファイルを表示できます。
この例では、入力ファイルが圧縮されている場合、zcat は圧縮を解除してコンテンツを表示します。入力ファイルが圧縮されていない場合、zcat は内容をそのまま表示します。
$ zcat -f input-file
例 4:zless / zmore を使用した圧縮ファイルのページング
以下に示すように、zless コマンドまたは zmore コマンドを使用して、圧縮ファイルをページ付けできます。
$ zcat filename.gz | more $ zcat filename.gz | less (or) $ zless filename.gz $ zmore filename.gz
注: あらゆる種類のファイルを開くには、以前の記事「Linux Less Command で 10 種類のファイル タイプを開いて表示する – The Ultimate Power of Less」を参照してください。
例 5:zgrep / zegrep で圧縮ファイル内を検索します。
以下に示すように、zgrep / zegrep を使用して圧縮ファイル内を検索できます。これは、圧縮されていないファイル操作「grep -i filename」と同じです。 zgrep コマンドのすべてのオプションが grep に渡され、ファイルが grep コマンドに渡されます。必要に応じて、ファイルを圧縮解除して grep コマンドに送ります。
$ 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
注: 以前の記事を読んで、grep コマンドに慣れてください。 – 15 の実用的な grep コマンドの例.
例 6:zdiff / zcmp を使用したファイルの比較
以下に示すように、2 つの圧縮ファイルを zdiff / zcmp で比較できます。これは、圧縮されていないファイル操作「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
この記事は SathiyaMoorthy によって書かれました 、Vi / Vim Tips and Tricks 記事の著者。 The Geek Stuff は、あなたのヒントやゲスト記事を歓迎します。