我有一个 Linux 查询,我想知道您是否知道如何根据以下条件将多个命令串成一个:
- 从分支目录中查找名为 gec_log_* 的文件 - 超过 57 天 (+57)
- gzip(我们只安装了 gzip)这些文件
我知道如何分别做这两件事
- 查找 /var/loop/hj/date -name "generic_log_*" -type f -mtime +57
- 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 {} \;