打印查找操作的文件

打印查找操作的文件

我使用以下命令仅删除以DBG两天开头的文件,但此语法不会打印已删除的文件

find /tmp  -type f -mtime +2 -name "DBG*" -exec rm {} \;

如何添加查找语法和打印以打印已删除的文件?

答案1

只需使用-print标志:

find /tmp  -type f -mtime +2 -name "DBG*" -exec rm {} \; -print

或者,如果rm支持该-v选项,则rm全部完成:

find /tmp  -type f -mtime +2 -name "DBG*" -exec rm -v {} +

或者如果您find支持-delete

find /tmp  -type f -mtime +2 -name "DBG*" -delete -print

(注意前两个有一个竞争条件,可以允许删除DBG*文件系统上任何位置的文件

答案2

多个即时选项:

find /tmp  -type f -mtime +2 -name "DBG*" -exec echo {} \; -delete

或者

find /tmp  -type f -mtime +2 -name "DBG*" -exec echo {} \; -exec rm {} \;

答案3

使用-printf%p

find /tmp -type f -mtime +2 -name "DBG*" -delete -printf "operate on file %p\n" 

相关内容