gpt4 book ai didi

linux - 尝试在 Linux 上使用 "find"和 "zip -m"压缩并自动删除文件

转载 作者:太空狗 更新时间:2023-10-29 12:12:50 24 4
gpt4 key购买 nike

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

find ./test -name "TEST_\*" -mtime +1 | zip -m /home/TESTbac.zip -@;

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

我想问的是为什么运行脚本后文件还存在?我该如何解决这个问题?

最佳答案

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

试试这个:

find ./test -name "TEST_*" -exec zip -m /home/TESTbac.zip '{}' ';'

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

关于linux - 尝试在 Linux 上使用 "find"和 "zip -m"压缩并自动删除文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36075284/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com