如何从分支目录中压缩超过 57 天的具有特定名称的文件?

如何从分支目录中压缩超过 57 天的具有特定名称的文件?

我有一个 Linux 查询,我想知道您是否知道如何根据以下条件将多个命令串成一个:

  1. 从分支目录中查找名为 gec_log_* 的文件 - 超过 57 天 (+57)
  2. gzip(我们只安装了 gzip)这些文件

我知道如何分别做这两件事

  1. 查找 /var/loop/hj/date -name "generic_log_*" -type f -mtime +57
  2. gzip gec_log_*

我尝试过管道,但对我来说不起作用:)

答案1

第 1 点中的“find”命令缺少操作部分 :)(因此它使用默认操作-print)。添加一个操作来 gzip 压缩找到的文件,如下所示:

find find /var/loop/hj/date -name "generic_log_*" -type f -mtime +57 -exec gzip {} \;

这只会对文件进行 gzip 压缩,而不会列出文件。如果您既想列出文件又想对文件进行 gzip 压缩,则可以将这两个操作组合起来,如下所示:

find /find /var/loop/hj/date -name "generic_log_*" -type f -mtime +57 -print -exec gzip {} \;

相关内容