需要一个脚本来删除所有以 ~$ 开头的临时文件

需要一个脚本来删除所有以 ~$ 开头的临时文件

最近对我们的文件服务器进行了一次临时文件扫描,~$附加到名称开头产生了近 1,000 个结果。

这些文件的“上次修改”日期可以追溯到 2003 年(因此它们现在通常都是多余的,可以安全删除)。

我需要一个脚本来识别和删除任何以“~$”开头的文件,然后我可以安排该脚本每周在服务器上运行一次,以频繁自动清除这些临时文件。

答案1

对于特定目录,这将递归删除所有名称以 ~$ 开头的文件:

find /path/to/directory -type f -name '~$*' -exec rm '{}' \;

要将其限制在特定目录中而不在其子目录中,请使用 maxdepth:

find /path/to/directory -maxdepth 1 -type f -name '~$*' -exec rm '{}' \;

将积分参数更改为-maxdepth取决于要搜索文件的目录的预期级别。

另一种更简单的方法是使用 globs,但这不是一个好主意,因为它会尝试触碰与模式匹配的目录。它仍然不会删除它们,但您必须担心错误消息。您可以使用-f选项或发送错误输出,/dev/null但对于方法来说,这已经很麻烦了:

rm '/path/to/directory/~$'*

相关内容