我正在使用 Ubuntu 10.04,我有一个包含一堆文件的目录。我们不久前更改了文件的命名方案,现在我想删除所有旧文件。
新名称方案:December_12_2010.zip
旧名称方案:December_11_2010_17:54:18_map.zip
我查看了正则表达式,想看看如何使用它们,但我搞不懂。我有限的知识不足以让我找到正确的组合。我看到了“:”,并认为删除文件的最佳方法是说“删除所有带有‘:’的文件”,但没有成功。我需要一些指导!
答案1
试试看rm *:*
。这对我来说确实有效,如果它对你不起作用,那么提供错误消息的详细信息会有所帮助。
如果每天只有一个文件,也可以重命名文件。自动执行该操作不会是一个重大挑战。
答案2
如果文件真的您应该使用以下一组find
来代替:
find -name '*:*' -delete
答案3
如果你使用正则表达式,那么这个应该有效:-
find . -regex '.*/*[0-9][0-9]:[0-9][0-9]:[0-9][0-9]*' -exec rm -fv '{}' \;