好的 - 所以我今天一整天都在努力看看这是不可能的。
在我的情况下,我有一个缓存文件夹包含100万个缓存文件(是的,它是不可能打开的)。因此,对于内务管理,我想删除那些自120天以来未被访问过的内容并记录删除的内容。使用此行管理清理大约200K文件:
find thisfolder -name "pattern*" -type f -atime +120 -exec rm -f {} \; -fprint /home/myfolder/logs/deleted_cache.txt 2>&1
然而,我最终得到了一个大约50MB的日志文件(deleted_cache.txt)。这并不能帮助你。所以我想把它拉上来,希望我们能够腾出更多的空间。
了解I / O重定向,管道和zip;经过多次尝试,似乎不可能排成一行。 bash脚本是唯一的方法吗?
请赐教。 谢谢。
答案 0 :(得分:0)
您可以使用此命令:
find thisfolder -name "pattern*" -type f -atime +120 -delete -printf '%f\n' | gzip > deleted_cache.gz
-delete
删除文件-printf
将文件名打印到stdout gzip
compress stdin 注意:我只在Ubuntu中测试它。