我有一个目录“FolderName”,每天都有 10,000 个新文件。这些文件中几乎一半的名称如下:
filename_yyyy-mm-dd_hh:mm
而另一半的名字是:
filename_yyyy-mm-dd hh:mm
(用空格代替下划线)
我想要设置的脚本应执行以下操作:
仅重命名名称中包含空格的文件,跳过不需要处理的文件。
我找不到使脚本高效的方法,我需要真正跳过好一半,我的脚本尝试 mv 任何文件,而且它相当长且效率低下。有更好的设计好主意吗?
谢谢大家
最佳答案
查看 rename
实用程序,一个专门为此设计的 Perl 脚本,它功能强大且快速。
rename -n ' ' _ *\ *
或者:
find /path/to/dir -type f -name '* *' -exec rename -n ' ' _ {} \;
-n
标志用于试运行,打印发生的情况,而无需实际重命名任何内容。如果输出看起来不错,请删除该标志并重新运行。
关于linux - 有没有一种有效的方法可以用 _ 替换文件名中的空格? (数千个文件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40428510/