我有一个非常混乱的文件夹,其中包含数千个文件和目录。我想创建一个 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
使用find
with-regex
或类似工具来确定哪些文件夹名称是数字,然后使用zip -@
读取从 管道传输的过滤文件名列表find
。