我想删除目录中访问时间超过 10 分钟的 *.mp3 文件。我该怎么做?谢谢。
答案1
我将使用-amin
以下命令find
:
find <path> -name "*.mp3" -amin +10 -exec rm -f {} \;
从man find
:
-amin n
File was last accessed n minutes ago.
出于测试或调试目的,请不要运行该rm
命令,而是ls -l
:
find <path> -name "*.mp3" -amin +10 -exec ls -l {} \;
编辑
我只想说一下该-delete
选项:该选项会自动打开该-depth
选项。
放置-delete
将find
尝试删除指定起点以下的所有内容。为了避免意外,我会明确指定该-depth
选项。
由于我不知道原帖者的文件夹/文件树,因此我不会建议他-delete
单独使用该选项。在我看来这有点不自觉。
至少我建议:
find <path> -maxdepth 1 -name "*.mp3" -amin +10 -delete
答案2
假设有一个合理的最新find
命令:find /path/to/mp3/files -amin +10 -delete
。当然,我第一次运行它时不会使用“-delete”标志,以确保您删除了您认为正在删除的内容。
从find
手册页中:
TESTS
Numeric arguments can be specified as
+n for greater than n,
-n for less than n,
n for exactly n.
-amin n
File was last accessed n minutes ago.
答案3
你可以通过以下方式轻松完成find
find . -amin +10 -iname '*.mp3' -exec rm {} \;