我想删除超过 10 天的目录和子目录。
另外,我想将已删除的文件夹和文件名以及时间详细信息存储在另一个文件中。
到目前为止,我的脚本是删除超过 10 天的目录、子目录和文件。
find /tmp/processed/* -type d -ctime +10 -exec rm -rf {} \;
有人可以帮忙将详细信息存储在另一个文件中吗?
提前致谢。
答案1
您可以同时运行多个命令:
find /tmp/processed/* -type d -ctime +10 -print -exec rm -rf {} \;
find /tmp/processed/* -type d -ctime +10 -printf "%p %TY-%Tm-%Td %TH:%TM:%TS %TZ\n" -exec rm -rf {} \;
您可以将此输出重定向到文件。
但请注意,查看时,这可能会产生相当混乱(未对齐)的输出。因此,我喜欢将该column
命令与格式中的制表符结合使用printf
,以“制表”数据:
find /tmp/processed/* -type d -ctime +10 -printf "%p\t%TY-%Tm-%Td\t%TH:%TM:%TS\t%TZ\n" -exec rm -rf {} \; | column -t
我测试了上述输出,它对我来说看起来像这样:
/tmp/processed $ find * -type d -ctime +10 -printf "%p\t%TY-%Tm-%Td\t%TH:%TM:%TS\t%TZ\n" -exec rm -rf {} \; | column -t
bar 2019-02-07 20:35:15.8718172190 WAT
foo 2019-02-07 20:35:54.5638166540 WAT
看着那(这手册页find
了解更多信息(提示:在手册页中搜索-printf
)。