web-dev-qa-db-ja.com

LinuxのZipアーカイブのファイルリストを表示

解凍せずにZipアーカイブ内のファイルのリストを表示する方法を教えてください。

380
danidacar

lessユーティリティはZipアーカイブを覗くことができます。実際、unzip -l zipfileless zipfileの出力を見ると、それらが同一であることがわかります。

439
ayaz

unzip -l files.Zip | lessを試す

また、その他のオプションについてはman unzipを参照してください。

107

Zipの内容を一覧表示するには

zipinfo -1 myzipfile.Zip

詳細な出力の場合

zipinfo myzipfile.Zip
58
kinORnirvana

使ってください

vim Zip_FILE_NAME

同様に。これは簡単で覚えやすいものです。

30

Zipを Fuse-Zip 仮想ファイルシステムでマウントすることで、Zipをディレクトリ(cdlsなどを使用するディレクトリ)として表示することができます。

mkdir foo.d
Fuse-Zip foo.Zip foo.d
ls foo.d
cat foo.d/README
...
fusermount -u foo.d
rmdir foo.d

もう1つの関連する Fuse ファイルシステムは AVFS です。アーカイブの内容を保持しているように見えるすべてのアーカイブが関連するディレクトリ(最後に付けられた#と同じ名前)を持つディレクトリ階層全体のビューを作成します。

mountavfs
ls ~/.avfs/$PWD/foo.Zip\#
cat ~/.avfs/$PWD/foo.Zip\#/README
...
umountavfs

最近の多くのファイルマネージャ(Nautilus、Dolphinなど)は、アーカイブの内容を透過的に表示します。

AVFSは読み取り専用です。 Fuse-Zipは読み書き可能ですが、変更はマウント解除時にZipファイルにのみ書き込まれるので、fusermount -uが返されるまで変更が加えられることを期待してアーカイブの読み取りを開始しないでください。

12
Gilles

少なくともUbuntuでは、おそらく最も簡単なコマンドは次のとおりです。

view [zipfile]

これにより、標準のテキストエディタ(nano、vimなど)でファイルの一覧が表示されます。

9
Samuel Lampa

実際にはunzip -l file.Zip | grep "search"、あるいはあなたがたくさんのファイルを持っているのなら

for i in `ls *Zip`; do 
  unzip -l $i | grep "search"; 
done

更新:ファイルを検索するために '-p'から '-l'に変更。

2
Rob

あなたがよりグラフィカル指向ならば、Midnight CommanderはZipファイルをあたかも通常のディレクトリであるかのように閲覧することもできます。

2
Charles Burge

より包括的なソリューション

@kinORnirvanaによる前の答えは、Zipアーカイブの内容を含むファイルを作成することが私のお気に入りです。

zipinfo [-1] archive.Zip > archive_content.txt

ただし、必要に応じてvimまたはemacs(nano以外)をお勧めしますアーカイブファイルを参照したり、その中に含まれているファイルの内容を表示したりすることもできます。

vim archive.Zip

このアプローチは他のアーカイブフォーマットでも機能します:

vim file.tar
vim file.tar.gz
vim file.tar.bz2

vimまたはemacsを使えば、次のことができます。

  • アーカイブファイルのディレクトリ構造を閲覧します。
  • アーカイブファイル内のファイルの内容を表示します。
0
ePi272314

(yaa)もう一つの答え:

このコマンドのエイリアス:

alias vless='/usr/share/vim/vim73/macros/less.sh'

そしてvi(またはvim)の少ないスクリプトを利用するためにvless file.Zipを使うことができます。

(また、より少ない代用に良いので、色を持つことができます)

0
Dr Beco