任务是编写一个 bash 场景,删除目录中最后访问时间超过 N 天的文件。如果不存在此类文件,则应显示该消息。
我正在尝试删除 1 个文件并查找它的上次访问时间:
stat -c%x test.txt
Run Code Online (Sandbox Code Playgroud)
该命令返回日期:2018-12-01 16:45:30.390000000 +0000
然后我正在编写当前日期命令:
date '+%Y-%m-%d %H:%M:%S.%N'
Run Code Online (Sandbox Code Playgroud)
该命令返回日期:2018-12-01 18:39:16.873718766
现在我不知道如何减去这个日期并应用于目录的所有文件。
find使用带有参数的命令-atime。
find /path/to/dir -atime +100 -delete
Run Code Online (Sandbox Code Playgroud)
删除 101 天或更长时间之前访问的文件。