在 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看起来它能满足您的需要。

相关内容