Linux查找和删除文件,但重定向要删除的文件名

Sru*_*lla 11 linux command find delete-file

有没有办法在删除文件之前将文件名写入文件,以便稍后参考以检查已删除的内容.

find <PATH> -type f -name "<filePattern>" -mtime +1 -delete 
Run Code Online (Sandbox Code Playgroud)

Wil*_*ell 22

只需-print在调用时添加一个表达式find:

find <PATH> -type f -name "<filePattern>" -mtime +1 -delete -print > log
Run Code Online (Sandbox Code Playgroud)

我不确定这是否在文件取消链接之前或之后打印了名称,但它无关紧要.我怀疑-delete -print-print -delete打印之前取消链接,而在取消链接之前会打印.


小智 8

像威廉说,你可以使用-print.但是,-print > log您也可以使用该-fprint标志代替.

你想要的东西是这样的:

find <PATH> -type f -name "<filePattern>" -mtime +1 -fprint "<pathToLog>" -delete
Run Code Online (Sandbox Code Playgroud)

例如,我在脚本中使用它:

find . -type d -name .~tmp~ -fprint /var/log/rsync-index-removal.log -delete
Run Code Online (Sandbox Code Playgroud)