讀取壓縮檔案的內容而不解壓縮?

讀取壓縮檔案的內容而不解壓縮?

如何在不解壓縮其中包含的 .zip 的情況下讀取存檔中特定文件的內容?我正在使用 Linux 命令列。

較早的一個問題詢問查看存檔的目錄。但對我來說,僅查看存檔中的文件清單是不夠的,我需要查看存檔中文件的內容。

答案1

unzip -l archive.zip列出 ZIP 檔案的內容以確保您的檔案位於其中。

使用此-p選項將指定檔案的內容寫入標準輸出(螢幕),而無需解壓縮整個檔案。

unzip -p archive.zip file1.txt | less

對於這種操作,我總是將輸出通過管道傳輸到less,否則整個文件在您可以讀取它之前就會飛到螢幕上。

BTW zcat 非常適合查看 .gz 檔案的內容,而無需先解壓縮它們。

編輯:將此答案更改為使用-p而不是-c. -p逐位元組提取文件,同時-c列印文件名並可能進行 EOL 轉換。另外,unzip -p允許您提取多個文件,但它不會像那樣按照給定的順序輸出cat

答案2

您可以使用vim列出的內容zip/rar/tar檔案:

vim archive.zip

順便一提:這裡是同樣的問題。

答案3

zipinfounzip是您可能使用的另一個工具,如果您使用的是不允許的鎖定係統,則這非常有用。

答案4

Emacs從命令列啟動並使用Zip-Archive模式開啟 zip 檔案。無需任何 Emacs/elisp 調整(新用戶通常擔心),您將看到文件詳細信息,例如zipinfo:模式、長度、日期、時間

然後,您將能夠使用標準快捷方式開啟緩衝區中的文件,甚至將變更儲存回存檔:

  • 輸入清單中的檔案名稱將其打開
  • 編輯並儲存Ctrl-x Ctrl-s
  • 殺死緩衝區Ctrl-k以返回存檔緩衝區並繼續

Zip-Archive在緩衝區中時,使用Ctrl-h m取得說明視圖中可用的所有捷徑。

希望這可以引導您發現 Emacs 的強大功能

相關內容