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

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

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

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

答え1

unzip -l archive.zipZIP アーカイブの内容を一覧表示し、ファイルが含まれていることを確認します。

-pアーカイブ全体を解凍せずに、指定されたファイルの内容を標準出力 (画面) に書き込むには、このオプションを使用します。

unzip -p archive.zip file1.txt | less

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

ちなみに、zcat は、.gz ファイルを最初に解凍せずにその内容を表示するのに最適です。

編集:この回答-pを の代わりにを使用するように変更しました-c-pはファイルをバイト単位で抽出しますが、 は-cファイル名を出力し、EOL 変換を行う場合があります。 また、ではunzip -p複数のファイルを抽出できますが、 のように指定された順序で出力されませんcat

答え2

使用できますvimの内容を一覧表示するzip/rar/tarアーカイブ:

vim archive.zip

ところで:ここ同じ質問です。

答え3

zipinfounzip使用できるもう 1 つのツールです。これは、許可されていないロックダウンされたシステムを使用している場合に便利です。

答え4

Emacsコマンドラインから開始し、モードで zip ファイルを開きます。Emacs/elisp の調整 (新しいユーザーが一般的に恐れる) なしで、モード、長さ、日付、時間Zip-Archiveなどのファイルの詳細が表示されます。zipinfo

その後、標準のショートカットを使用して、バッファ内のファイルを開いたり、変更をアーカイブに保存したりできるようになります。

  • リスト内のファイル名を入力して開きます
  • 編集して保存Ctrl-x Ctrl-s
  • バッファを消去しCtrl-kてアーカイブバッファに戻り、続行します。

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

この記事がEmacsの素晴らしい機能を発見するきっかけになれば幸いです

関連情報