在 Linux 上刪除 Zip 檔案中的文件

在 Linux 上刪除 Zip 檔案中的文件

我遇到一種情況,我需要能夠運行腳本並刪除 zip 檔案中的特定檔案。以下是一般設置

/mnt/directory
/mnt/directory/Folder1
/mnt/directory/Folder1/file1.zip
/mnt/directory/Folder1/file2.zip
/mnt/directory/Folder2
/mnt/directory/Folder2/Documents
/mnt/directory/Folder2/file1.zip
/mnt/directory/Folder2/file2.zip

然後在每個 zip 檔案中,都有很多檔案和目錄。目錄可能有 20 多個深度,因此我需要確保無論我做什麼都會遞歸地查看文件。

我玩過zipinfo -1 /mnt/directory/Folder1/file1.zip '.txt'* 命令它會查找 file1.zip 中的所有 .txt 文件,但我無法使用通配符 zipinfo 命令來使其搜尋所有 zip 檔案。另外,我仍然需要能夠在事後刪除它們。我也測試過zip -d /mnt/directory/Folder1/file1.zip 檔案名稱.txt。這適用於 1 個文件且僅適用於 1 個文件,只要它不在資料夾內即可。再說一遍,這對我的情況來說並不理想。

如果需要,我可以解壓縮它們,但我不希望這樣做,因為有些非常大,無論如何我都必須將它們拉回去。

謝謝。

答案1

該模組檔案::Zip看起來它會做你需要的事情。

相關內容