ZIPファイルから任意のファイルのみを抽出するには

unzipコマンドでZIPファイルから任意のファイルのみを抽出する方法。
恥ずかしながら、今日の今日までそんな事ができるなんて知らなかったのでメモ。

コマンドの書式は以下の通り。

unzip <source ZIP> <target file>

test.zipからfoo.txtのみを抽出

unzip test.zip foo.txt

$ unzip -Z test.zip
Archive:  test.zip
Zip file size: 466 bytes, number of entries: 3
-rw-r--r--  3.0 unx        4 tx stor 21-Mar-24 20:17 foo.txt
-rw-r--r--  3.0 unx        5 tx stor 21-Mar-24 20:17 hoge.txt
-rw-r--r--  3.0 unx        5 tx stor 21-Mar-24 20:17 fuga.png
3 files, 14 bytes uncompressed, 14 bytes compressed:  0.0%
$
$ unzip test.zip foo.txt
Archive:  test.zip
 extracting: foo.txt
$
$ ls
foo.txt  test.zip

test.zipからfoo.txtとfuga.pngのみを抽出

unzip test.zip foo.txt fuga.png

$ unzip -Z test.zip
Archive:  test.zip
Zip file size: 466 bytes, number of entries: 3
-rw-r--r--  3.0 unx        4 tx stor 21-Mar-24 20:17 foo.txt
-rw-r--r--  3.0 unx        5 tx stor 21-Mar-24 20:17 hoge.txt
-rw-r--r--  3.0 unx        5 tx stor 21-Mar-24 20:17 fuga.png
3 files, 14 bytes uncompressed, 14 bytes compressed:  0.0%
$
$ unzip test.zip foo.txt fuga.png
Archive:  test.zip
 extracting: foo.txt
 extracting: fuga.png
$
$ ls
foo.txt  fuga.png test.zip

test.zipから.txtファイルのみを抽出

unzip test.zip *.txt

$ unzip -Z test.zip
Archive:  test.zip
Zip file size: 466 bytes, number of entries: 3
-rw-r--r--  3.0 unx        4 tx stor 21-Mar-24 20:17 foo.txt
-rw-r--r--  3.0 unx        5 tx stor 21-Mar-24 20:17 hoge.txt
-rw-r--r--  3.0 unx        5 tx stor 21-Mar-24 20:17 fuga.png
3 files, 14 bytes uncompressed, 14 bytes compressed:  0.0%
$
$
$ unzip test.zip *.txt
Archive:  test.zip
 extracting: foo.txt
 extracting: hoge.txt
$
$ ls
foo.txt  hoge.txt test.zip

Leave a Reply

Your email address will not be published. Required fields are marked *