【发布时间】:2020-10-06 10:12:15
【问题描述】:
场景: 在文件夹 1 上: 我们有 file1.repo file2.repo file3.repo 在我运行这个命令之后:
/usr/bin/find $folder/*.repo -print -exec sh -c "gzip < {} > {}.gz" \;
它将所有文件压缩为 file1.repo.gz ,file2.repo.gz, file3.repo.gz
我的问题是我如何防止在运行多次命令后再次压缩相同的文件并且只压缩文件夹中添加的新文件,(命令再次创建文件 {1,2,3}.repo.gz 不同时间戳并将原始文件{1,2,3}.repo 也保留在文件夹中)
我需要的是只压缩文件夹中添加的新文件,而无需再次压缩更改时间戳的旧文件
【问题讨论】:
-
如果你可以假设,以
.gz结尾的文件被压缩,你可以告诉 find 排除这些文件。当然,如果您手动创建一个名称已经以.gz结尾的解压缩文件,则此策略会失败,因为此文件将被跳过并保持解压缩状态。