压缩文件夹,但仅包含具有数字名称的文件夹?

压缩文件夹,但仅包含具有数字名称的文件夹?

我有一个非常混乱的文件夹,其中包含数千个文件和目录。我想创建一个 Zip 文件,其中只包含部分文件夹(以及这些文件夹中的文件) - 特别是那些名称只有数字的文件夹(104、2342 等...)。

但我不知道该如何做到这一点-有什么建议吗?

我使用的是 Linux — 确切的说是 CentOS :)

答案1

这对你有用吗:

 zip -ry archive.zip [0-9]*

在包含以下内容的目录中运行:

001  002  100  200  aaa  bbb

它会创建仅包含编号目录的 zip 存档:

$ unzip -l archive.zip 
Archive:  archive.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
        0  2010-10-19 22:27   001/
        0  2010-10-19 22:27   002/
        0  2010-10-19 22:41   100/
        0  2010-10-19 22:41   100/10000/
        0  2010-10-19 22:41   100/10000/a.txt
        0  2010-10-19 22:41   100/10000/10000.txt
        0  2010-10-19 22:27   200/
---------                     -------
        0                     7 files

也就是说,只有顶层的编号文件/目录才会被放入 zip 存档中。

更新 要从顶层排除文件:

查找 . -maxdepth 1 -type f > excluded.files

仔细检查“excluded.files”。然后:

zip -ry 测试.zip [0-9]*[电子邮件保护]

答案2

使用findwith-regex或类似工具来确定哪些文件夹名称是数字,然后使用zip -@读取从 管道传输的过滤文件名列表find

相关内容