LinuxのZIPアーカイブ内のファイルのリストを表示する


407

ZIPアーカイブ内のファイルのリストを解凍せずに表示するにはどうすればよいですか?


通常のUNIXアーカイブに対して同じことを行うことは可能ですか?(tar / gzip / bz2 /など)
ThorSummoner 14年

tar tvf。.gzの場合、zを追加します。bz2の場合、jを追加します。さらにたくさん、マニュアルページをチェックしてください。
ユタジャーヘッド

回答:


469

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


98
less zipfileMacOS-Xではバイナリファイルコンテンツが表示されるため、zipファイルのコンテンツの代わりに大量のゴミが表示されることに注意してください。次に、「ùnzip
-heiglandreas

10
@ayazどのシステムでzipファイルがリストされないのですか?MAC、Ubuntuでは動作しないというコメントがありますが、ここではDebianを使用しています。Debianはバイナリガベージも表示します。
ベコ博士

12
Ubuntuでは、を試してくださいview [zipfile]
サミュエルランパ14

4
違う。unzip -lはzipアーカイブ内のファイルを表示するのにうまく機能しますが、多くの場合、バイナリコンテンツはあまり提供されず、それはもちろん混乱です。
アルトゥラスM 14年

17
lesspipezipファイルのサポートを少なくするには、ヘルパーをインストールする必要があります。多くのLinuxシステムでは標準ですが、OSXでは標準ではありませんが、brewでインストールできます。
ピムロット

112

試してみる unzip -l files.zip | less

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


6
lessコマンドへのパイプをスキップできます。ただし、ファイルの大きなコレクションでは素晴らしいアイデアです。
オマー

65

zipの内容をリストするには:

zipinfo -1 myzipfile.zip

詳細な出力:

zipinfo myzipfile.zip

7
いい答えです。ファイル名を取得するためだけに出力を解析する必要はありません。
アントワーヌペリス14年

34

使ってください

vim ZIP_FILE_NAME

同様に。これはシンプルで覚えやすいものです。


5
ニース、これはまた、解凍を行うことなく、アーカイブ内の個々のファイルを開くことができます
user3885927

非常に予想外で、非常に便利です!ありがとう!
ピエール

実際:unzipシステムにインストールされていない場合、これは機能しません。それに加えて、素晴らしい!
sjas

13

あなたは、郵便番号は(あなたが使用するディレクトリとして表示させることができcdlsでそれをマウントすることによって、など)のヒューズジップ仮想ファイルシステム。

mkdir foo.d
fuse-zip foo.zip foo.d
ls foo.d
cat foo.d/README
...
fusermount -u foo.d
rmdir foo.d

別の関連するFUSEファイルシステムはAVFSです。ディレクトリ階層全体のビューを作成します。すべてのアーカイブには#、アーカイブコンテンツを保持しているように見える関連ディレクトリ(末尾に同じ名前が付けられています)があります。

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

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

AVFSは読み取り専用です。Fuse-zipは読み書き可能ですが、変更はアンマウント時にのみzipファイルに書き込まれるため、アーカイブが変更されるまで、アーカイブが読み込まれるのを待ってfusermount -uください。


ニース、ジャイルズ。ありがとう。ちょっとだけ:ディレクトリに "cp"するだけでファイルを追加できますか?
ベコ博士

@DrBeco fuse-zipを使用、はい。avfsで、いいえ。
ジル14

9

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

view [zipfile]

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


2

実際に、unzip -l file.zip | grep "search"または多くのファイルがある場合

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

更新:ファイルを検索するために「-p」から「-l」に変更されました。


2

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


1

より包括的なソリューション:vim || emacs

@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

vimemacsの次のことができます。

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

ここに画像の説明を入力してください


0

(yaa)さらに別の答え:

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

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

また、より少ないスクリプト(または)vless file.zipを活用するために使用できます。vivim

(また、より少なく置換するのが良いので、色をつけることができます)


1
less -R ANSIカラーをサポートしています。
シルヴァンルルー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.