解凍せずに圧縮ファイルの内容を読み取りますか?


153

アーカイブ内の.zipを解凍せずにアーカイブ内の特定のファイルの内容を読み取るにはどうすればよいですか?Linuxコマンドラインを使用しています。

以前の質問では、アーカイブのディレクトリの表示について尋ねられます。しかし、私にとっては、アーカイブ内のファイルのリストを表示するだけでは不十分です。アーカイブ内のファイルの内容を表示する必要があります。



@ fixer1234(およびその他):リンクされた質問は、「ZIPアーカイブ内のファイルを表示するにはどうすればよいですか?」と尋ねます。その質問に答え、人々はそれを解釈として「どのように私は、アーカイブのディレクトリを表示することができますか?」しかし、ジルの回答(自然)とラジャセカーToletyの回答(明らかに)その質問にこの質問への答えを提供。
スコット

1
@ Scott、2つの質問をマージして両方のトピックを1つでカバーする方法を見つけるか、ディレクトリについて明確になり、質問に一致するように両方の場所間で答えを移動するように他のトピックに焦点を合わせます。現時点では、どちらもミッシュマッシュです。
fixer1234

@ fixer1234:ある程度は同意します。モデレーターは、重複が良いことだと常に言っています。なぜなら、彼らは検索エンジンにさらされる表面を大きくするからです(つまり、検索で質問の1つが見つかる可能性が高くなります)。しかし、問題があります。ユーザーが質問の1つを見つけて、リンクが明らかでない場合(そして、「リンクされた」質問と「関連する」質問のリストを見る人がいない場合-少なくとも検索結果のランダムなフォロワー)ユーザーは答えのほんの一部を見つけました。DavidPostillがこの投票を再開する最終投票を行いました。多分あなたは彼と話すべきです。
スコット

@Scott —質問者が「アーカイブのディレクトリを表示するにはどうすればよいですか?」という回答を承認済みとしてマークしたことを考えると、それはおそらく質問の意図であると考えなければなりません。残念ながら、どちらの解釈を意味するようにあいまいに表現されています。
M.ジャスティン・

回答:


198

unzip -l archive.zip ZIPアーカイブの内容をリストして、ファイルが内部にあることを確認します。

-cオプションを使用して、アーカイブ全体を解凍することなく、名前付きファイルの内容をstdout(画面)に書き込みます。

unzip -c archive.zip file1.txt file2.txt | less

この種の操作では、出力を常ににパイプしますless。そうしないと、ファイル全体が画面上を飛んでから読み上げられます。

BTW zcatは、.gzファイルの内容を最初に圧縮解除することなく表示するのに最適です。


8
少なくともUbuntuでは、デフォルトでこれを行うように構成されているものは少ないので、less archive.zip実際にはファイルのリストが表示されます。
アビブ

1
最初の...それらを解凍することなく、BZ2ファイルの内容を表示するためのbzcat
ジャスティン・E

3
unzip -cは、ファイル名といくつかの追加メッセージ(標準出力に送信)も表示します。代わりに-pを使用すると、ファイルはバイナリ形式でのみ送信されます。それは配管のために、より便利だ
フアン・カレロ

あなたと$LESSOPENlesspipeに設定し、あなただけのことができますless foo.gz解凍の内容を表示します。(@aviv:これは自分自身less foo.zipにパイプできるようにするものと同じですunzip -l foo.zip)。
ピーターコーデス

unzip -c archive.zip '*' | less私が探していたものを行います:zipアーカイブのコンテンツを猫します。
ピーターコーデス

4

zipinfo使用できる別のツールです。これは、unzip許可されていないロックダウンされたシステム上にいる場合に便利です。


4

あなただけ表示する探している場合は、画像をアーカイブ内では、使用することができますコミックス以降MComixを内の画像を見て.zip.rar.cbr、および.cbz抽出することなくファイル。


2

Emacsコマンドラインで起動し、zipファイルをZip-Archiveモードで開きます。Emacs / elispのチューニングがなければ(新しいユーザーは一般的に心配しています)、zipinfoモード、長さ、日付、時刻などのファイルの詳細が表示されます。

次に、標準のショートカットを使用して、バッファ内のファイルを開き、変更をアーカイブに保存することもできます。

  • リスト内のファイル名を入力して開きます
  • 編集して保存 Ctrl-x Ctrl-s
  • バッファCtrl-kを強制終了してアーカイブバッファに戻って続行する

ときにZip-Archive、バッファ、使用Ctrl-h mのヘルプビューで使用可能なすべてのショートカットを取得します。

これがEmacsの素晴らしい機能を発見するのにつながることを願っています


1

/ / アーカイブのvimコンテンツを一覧表示するために使用できます。ziprartar

vim archive.zip

ところで:ここに同じ質問があります。


0

less archive.zipこれを行う最も簡単な方法であることがわかりました。


2
less archive.zipはzip形式のファイルの内容を表示せず、zip形式のアーカイブの内容のみを表示します
karel

説明をありがとう、@ karel
RobertMyles

あなたが本当にやろうとしていることはダニエルクレイギーの答えと同じだと思います。
karel

-1

ファイルがzipアーカイブに含まれている場合、そのファイルのみをアーカイブから抽出する必要があります(アーカイブの種類によって異なる場合があり、一部のアーカイブではファイルを個別に抽出できません)


はい。ただし、stdoutに抽出し、ページャーにパイプで送ることができます。
ピーターコーデス

これは技術的な答えではなく、政治家や弁護士からの可能性が高いです。もっと具体的にしてください!(たとえば、コマンドを表示)
Hola Soy Edu Feliz Navidad
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.