我正在创建一个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*"