GNU/Linux >> Linux の 問題 >  >> Linux

Z コマンドの威力 – Zcat、Zless、Zgrep、Zdiff の例

この記事では、強力な Linux Z コマンドを使用して、圧縮ファイルに対して通常のファイル操作を実行する方法を確認します。

これらの z コマンドの一部は、/tmp ディレクトリ内のファイルを一時的に解凍して、指定された操作を実行します。一部の z コマンドは、指定された操作を実行するためにオンザフライで圧縮解除します。しかし、どのような場合でも、操作を実行するために圧縮ファイルを解凍するオーバーヘッドについて心配したくないため、z コマンドは安心感を与えてくれます。


圧縮ファイルに対して、次の通常のファイル操作を行うことができます

<オール>
  • zcat で圧縮ファイルを表示する
  • zless / zmore を使用して圧縮ファイルをページングします。
  • zgrep / zegrep を使用して圧縮ファイル内を検索します。
  • zdiff / zcmp を使用したファイルの比較
  • 例 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 は、あなたのヒントやゲスト記事を歓迎します。


    Linux
    1. 例を含む10以上のLinuxVIコマンド

    2. Linuxでのファイルコマンドの基本的な例

    3. LinuxでのSplitコマンドの9つの便利な例

    1. Linux での zcat コマンドの例

    2. コマンドラインで gz 圧縮ファイルの最後の行を出力するには?

    3. CentOS のキックスタート ファイルの %pre セクションで使用できるコマンドは何ですか?

    1. ターミナルに出没する8つの不気味なコマンド

    2. DOSからUnixへ:コマンドと例

    3. 例でchgrpコマンドを使用する方法