首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >试图在Linux上压缩并自动删除带有"find“和"zip -m”的文件

试图在Linux上压缩并自动删除带有"find“和"zip -m”的文件
EN

Stack Overflow用户
提问于 2016-03-18 02:49:38
回答 3查看 7.9K关注 0票数 4

/test文件夹中有300000多个文件,其名称很长(超过30个字符),标题与"TEST_*“相同,我想将所有文件压缩到一个.zip包中,并从/test文件中删除它们。因此,我使用了如下命令显示:

代码语言:javascript
复制
find ./test -name "TEST_\*" -mtime +1 | zip -m /home/TESTbac.zip -@;

但是在运行shell脚本后,/test文件夹中的文件仍然存在

我想问的是,为什么在运行脚本之后文件仍然存在?我怎样才能解决这个问题?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-03-18 02:55:09

您不需要将结果传递到zip命令。find有一个-exec参数,它将对每个匹配路径执行给定的命令。我怀疑管道过程中有什么东西导致-m无法按预期工作。

相反,试着这样做:

代码语言:javascript
复制
find ./test -name "TEST_*" -exec zip -m /home/TESTbac.zip '{}' ';'

注意:引号表示-exec命令的结尾。它被引用,因此命令行可以区分-exec命令的结尾和整个命令本身的结尾。同时,用匹配路径结果自动用find代替{}。

票数 5
EN

Stack Overflow用户

发布于 2020-06-03 07:23:53

代码语言:javascript
复制
zip -rm files.zip *.xml

这工作得很完美

票数 2
EN

Stack Overflow用户

发布于 2016-03-18 04:33:44

它仍然存在,因为没有任何东西让它被删除。

sudo /test <- -您的目录位置。

如果它给您的印象是,它中仍然有文件,而且您仍然希望它消失,那么向它添加一个-rf标志。隐居,意思是所有在树下的力量--照我说的去做。

数独/test -rf

在你这样做之前,只要仔细检查每件事都是你想要的。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36075284

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档