所以,我有~6k个文件,我需要检查,如果需要,重命名。 原因是,我有一些图像名称,我有我不需要的重音字符,需要重命名为简单字符。 例如:
Bas-v-s-Broek-DTR-025-Dobszékállíthitó-magasságú.jpg
到
Bas-v-s-Broek-DTR-025-Dobszek-Allitato-magassagu.jpg
我现在正在使用“查找并重命名”进行此项工作:
find . -type f -exec rename 's/ ö|ő|ó|ö/o/g' '{}' \; -exec rename 's/ ü|ű|ú/u/g' '{}' \; -exec rename 's/ á/a/g' '{}' \; -exec rename 's/ é/e/g' '{}' \; -exec rename 's/ í/i/g' '{}' \;
现在的问题是需要的时间超过30-35分钟。我能以某种方式减少这个过程的时间吗?我需要递归检查所有子文件夹
您应该致力于减少
rename
的调用次数,因为fork+execve是相对昂贵的操作您可以通过将所有模式合并到一个
rename
命令中,然后让find
使用+
而不是\;
一次在多个文件上执行它来实现这一点:我想我找到了完美的解决方案。 查找有正则表达式选项(我不知道),现在快多了! 鸡蛋,我如何使用:
相关问题 更多 >
编程相关推荐