首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何根据文件名中间的字符串删除一个目录中数千个png文件?

如何根据文件名中间的字符串删除一个目录中数千个png文件?
EN

Stack Overflow用户
提问于 2016-02-12 15:44:01
回答 2查看 92关注 0票数 0

我有一个包含150,000个png文件的目录。我需要删除大约70,000个。

我需要删除的文件在文件名中间有一个字符串"&zoom=9&“,如下所示:

代码语言:javascript
复制
Historical_Min_Temp_of_coldest_Month&zoom=9&x=129&y=377.png

我希望将所有其他文件保留在目录中(缩放级别为0-8)。我用的是Mac电脑。

我试过了:

代码语言:javascript
复制
ls *zoom=9*
grep '^\./zoom-9'
find -P | grep 'zoom=9'

但我显然遗漏了一些核心概念。任何帮助都将不胜感激。

EN

回答 2

Stack Overflow用户

发布于 2016-02-12 15:51:56

如果你有几个子目录,你可以尝试这样做:

代码语言:javascript
复制
find . -name "*&zoom=9&*" -delete

或(不太受欢迎)

代码语言:javascript
复制
find . -name "*&zoom=9&*" -exec rm {} +

第一个版本在内部删除文件,因此不会启动额外的外部可执行文件。使用+而不是通常的\;关闭行,将尽可能多的找到的文件添加到命令行缓冲区,从而减少外部调用的数量(类似于外部xargs实用程序)

(我没有Mac,这是Linux版本,但我假设这些功能是基本的,受OSX支持)

我想提出一些建议。不要在一个目录中存储100个000+文件。这会降低您的系统速度,并且删除文件不会解决问题。要减小目录i-node的大小,必须(硬)链接新目录下的所有文件并删除旧目录。

票数 2
EN

Stack Overflow用户

发布于 2016-02-12 15:46:12

rm *zoom=9*.png不工作了吗?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35357262

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档