アーカイブ内の特定のファイルの内容が保存されている .zip を解凍せずに読み取るにはどうすればよいですか? Linux のコマンド ラインを使用しています。
以前の質問アーカイブのディレクトリを表示する方法について質問します。しかし、私にとっては、アーカイブ内のファイルのリストを見るだけでは不十分で、アーカイブ内のファイルの内容を見る必要があります。
答え1
unzip -l archive.zip
ZIP アーカイブの内容を一覧表示し、ファイルが含まれていることを確認します。
-p
アーカイブ全体を解凍せずに、指定されたファイルの内容を標準出力 (画面) に書き込むには、このオプションを使用します。
unzip -p archive.zip file1.txt | less
この種の操作では、常に出力を にパイプしますless
。そうしないと、ファイル全体が画面上に飛び出して読み取れなくなります。
ちなみに、zcat は、.gz ファイルを最初に解凍せずにその内容を表示するのに最適です。
編集:この回答-p
を の代わりにを使用するように変更しました-c
。 -p
はファイルをバイト単位で抽出しますが、 は-c
ファイル名を出力し、EOL 変換を行う場合があります。 また、ではunzip -p
複数のファイルを抽出できますが、 のように指定された順序で出力されませんcat
。
答え2
答え3
zipinfo
unzip
使用できるもう 1 つのツールです。これは、許可されていないロックダウンされたシステムを使用している場合に便利です。
答え4
Emacs
コマンドラインから開始し、モードで zip ファイルを開きます。Emacs/elisp の調整 (新しいユーザーが一般的に恐れる) なしで、モード、長さ、日付、時間Zip-Archive
などのファイルの詳細が表示されます。zipinfo
その後、標準のショートカットを使用して、バッファ内のファイルを開いたり、変更をアーカイブに保存したりできるようになります。
- リスト内のファイル名を入力して開きます
- 編集して保存
Ctrl-x Ctrl-s
- バッファを消去し
Ctrl-k
てアーカイブバッファに戻り、続行します。
Zip-Archive
バッファ内では、Ctrl-h m
ヘルプ ビューで使用可能なすべてのショートカットを取得するために使用します。
この記事がEmacsの素晴らしい機能を発見するきっかけになれば幸いです