解凍せずにZipアーカイブ内のファイルのリストを表示する方法を教えてください。
less
ユーティリティはZip
アーカイブを覗くことができます。実際、unzip -l zipfile
とless zipfile
の出力を見ると、それらが同一であることがわかります。
unzip -l files.Zip | less
を試す
また、その他のオプションについてはman unzip
を参照してください。
Zipの内容を一覧表示するには
zipinfo -1 myzipfile.Zip
詳細な出力の場合
zipinfo myzipfile.Zip
使ってください
vim Zip_FILE_NAME
同様に。これは簡単で覚えやすいものです。
Zipを Fuse-Zip 仮想ファイルシステムでマウントすることで、Zipをディレクトリ(cd
、ls
などを使用するディレクトリ)として表示することができます。
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
が返されるまで変更が加えられることを期待してアーカイブの読み取りを開始しないでください。
少なくともUbuntuでは、おそらく最も簡単なコマンドは次のとおりです。
view [zipfile]
これにより、標準のテキストエディタ(nano、vimなど)でファイルの一覧が表示されます。
実際にはunzip -l file.Zip | grep "search"
、あるいはあなたがたくさんのファイルを持っているのなら
for i in `ls *Zip`; do
unzip -l $i | grep "search";
done
更新:ファイルを検索するために '-p'から '-l'に変更。
あなたがよりグラフィカル指向ならば、Midnight CommanderはZipファイルをあたかも通常のディレクトリであるかのように閲覧することもできます。
@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を使えば、次のことができます。
(yaa)もう一つの答え:
このコマンドのエイリアス:
alias vless='/usr/share/vim/vim73/macros/less.sh'
そしてvi
(またはvim
)の少ないスクリプトを利用するためにvless file.Zip
を使うことができます。
(また、より少ない代用に良いので、色を持つことができます)