如何在不解壓縮其中包含的 .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
答案3
zipinfo
unzip
是您可能使用的另一個工具,如果您使用的是不允許的鎖定係統,則這非常有用。
答案4
Emacs
從命令列啟動並使用Zip-Archive
模式開啟 zip 檔案。無需任何 Emacs/elisp 調整(新用戶通常擔心),您將看到文件詳細信息,例如zipinfo
:模式、長度、日期、時間
然後,您將能夠使用標準快捷方式開啟緩衝區中的文件,甚至將變更儲存回存檔:
- 輸入清單中的檔案名稱將其打開
- 編輯並儲存
Ctrl-x Ctrl-s
- 殺死緩衝區
Ctrl-k
以返回存檔緩衝區並繼續
Zip-Archive
在緩衝區中時,使用Ctrl-h m
取得說明視圖中可用的所有捷徑。
希望這可以引導您發現 Emacs 的強大功能