Linux 查找 -type f 忽略



我正在创建一个cron作业,它将找到所有*.log*文件(稍后工作时将用于删除它们(。

find 命令如下所示:

find /data/dg  ( -path /data/dg/kf/data -o -path /data/dg/pg/data ) -prune -o -name "*.log*" -type f

它应该找到所有名称为">.log"的文件,这些文件不在目录中,/data/dg/kf/data/data/dg/pg/data

但是,此命令给出的输出也包含目录。

...
/data/dg/kf/log/controller.log.2019-09-08-22
/data/dg/kf/log/server.log.2019-09-09-07
/data/dg/kf/data
/data/dg/pg/log/postgresql-2019-09-27_000000.log
/data/dg/pg/log/postgresql-2019-09-27_100859.log
/data/dg/pg/log/postgresql-2019-09-27_102411.log
/data/dg/pg/data
/data/dg/sim/log/sim_2019-09-27-11.0.log
/data/dg/sim/log/sim_2019-09-27-12.0.log
...

看来-type f不起作用。怎么了?

-type f放在/data/dg之后

find /data/dg -type f  -not -path "/data/dg/kf/data*" -not -path "/data/dg/pg/data*" -name "*.log*"

最新更新