gzip unixコマンドとtarコマンド


-1

gzipを使用して複数のファイルを圧縮したいのですが、解凍すると複数のファイルを取得するはずです。

zipを使ってtarを試しましたが、tarは余分なフォルダを作成しましたが、これは必要ではありません。

圧縮したいファイルは cp1.txt, cp2.txt, cp3.txt

ファイルを解凍した後にする必要があります cp1.txt, cp2.txt, cp3.txt

しかし、gzipでtarコマンドを使用すると、次のようなファイルが作成されます。

/bbpre/spool/COPY/ZIP/cp1.txt,cp2.txt,cp3.txt

欲しくない /bbpre/spool/COPY/ZIP/ ファイルが欲しいだけです。


あなたはできる 編集する ファイルをzipしたり解凍したりするために使用しているコマンドを含めるようにしたいですか。
Burgi

うーん。ここで使用されている用語を嫌います。あなたはgzipでファイルを圧縮しません。あなたはgzipでファイルをgzipします。ファイルを圧縮している場合は、 "zip"コマンド(通常はInfo-Zipを参照)などのコマンド、または(7zaなどの)別のコマンドを使用します。 gzipは、.gzアーカイブごとに1つのファイルしか処理しません。この制限を回避するには、別の形式を使用して複数のファイルをアーカイブしてから、そのアーカイブをgzipで圧縮します。 Unixでは(この質問にはUnixタグがあることに注意してください)、その作業に使用する最も伝統的な形式はtarです。
TOOGAM

回答:


1

抽出中にtarを使用すると、ファイル名/パスの最初のn個の先頭部分を削除できます。

あなたの場合、ファイルからtarを作成したならば。

/bbpre/spool/COPY/ZIP/cp1.txt  
/bbpre/spool/COPY/ZIP/cp2.txt
/bbpre/spool/COPY/ZIP/cp3.txt

で抽出する strip-components 不要なパスファイル名レベルを削除できることを示すフラグ:

tar -xvzf yourtar.tar --strip-components=4

を削除します /bbpre/spool/COPY/ZIP そして置く cp1.txt, cp2.txt, cp3.txt 現在の作業ディレクトリにあります。


-1

私があなたを正しく理解しているならば、あなたは一度に複数のファイルを持っていってそれらを圧縮して、そして次に一度に複数のファイルにそれらを解凍したいです。これを行う方法は次のとおりです。

$ touch 1.txt 2.txt 3.txt
$ gzip 1.txt 2.txt 3.txt
$ gzip -d 1.txt.gz 2.txt.gz 3.txt.gz

これをVMで試してみたところ、3つのファイルが作成され、それらを別々にgzipしてから、別々にunzipしました。


別のzipファイルを作成するコマンドの下で私は1つのzipファイルがほしいと思い、私はそれを別々のファイルがほしいと思うとき$ gzip 1.txt 2.txt 3.txt
Nitin

はい、それが私の投稿がアドバイスしたことです。これはあなたのために働きましたか?
torchhound

私の必要条件は、すべてのファイルに対して1つのzipファイルを作成することであり、解凍するときにはすべてのファイルを取得する必要があります。
Nitin

それで、あなたはディレクトリをその中に任意のファイルで圧縮したいです、そしてあなたがそれらのファイルを再び解凍するときあなたはそれを解凍しますか?
torchhound

1
ディレクトリを作成できず、そのディレクトリにファイルを配置してから、そのディレクトリを圧縮できないのはなぜですか?
torchhound
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.