tarファイルを抽出するときに大きなgzipファイルをスキップしたいのですが、tarが内部を見るために総圧縮を開始するたびに。
tarの内部を見ようとしても、次のように圧縮され始めるようです。
tar -tvf my.tar.gz --exclude="huge_mysql_file.gz"
このファイルを完全にスキップする方法はありますか? tarがgzファイルに達すると、gzipが実行されていることがわかります。
答え1
my.tar.gz
は圧縮タール文書。アスファルト「テープアーカイブ」の略です。したがって、まずファイルを解凍する必要がmy.tar.gz
あります。gzip -d
アスファルトファイルを読み取ることができます。 gzipファイルの内容にランダムにアクセスする方法はありません。私はgzipファイル形式についてはわかりませんが、少なくともgzip
これを行うオプションはありません。ファイルをtar
解凍するために「gzip -d」が使用されていることがわかります。ファイルの圧縮は解除されませんが、gunzipにパイプされるので、ファイルを読み取って無視する必要があります。my.tar.gz
gzip
tar
huge_mysql_file.gz
huge_mysql_file.gz
tar ファイルが gzip に圧縮されず、次のように内容をリストする場合
tar -tvf my.tar --exclude="huge_mysql_file.gz"
huge_mysql_file.gz
サイズについては、アーカイブのヘッダーをお読みください。これにより、tarはそのファイルを読み取らずにスキップし、以下のファイル処理を続行できます。