我想在很多照片的文件名中用一个空格替换双空格。这些照片位于目录/ foto及其子文件夹中。这该怎么做?例如“photo 1.jpg”需要成为“photo 1.jpg”
最好的方法是使用命令行,因为它位于CloudLinux服务器上。 (它超过50GB的照片)。我在这里搜索了Stackoverflow,也是谷歌找到我需要的命令。我想重命名是要使用的,或者mv。
我发现的唯一的事情是关于替换空间和替换其他符号的命令,而不是关于双(多)空格的命令。
使用这个,使用Perl的重命名:
rename 's/\s{2}/ /g' files*
当输出看起来很好时,移除-n
开关。
还有其他具有相同名称的工具可能会或可能不会这样做,所以要小心。
如果您运行以下命令(GNU
)
$ file "$(readlink -f "$(type -p rename)")"
你有一个包含Perl script, ASCII text executable
但不包含ELF
的结果,那么这似乎是正确的工具=)
如果没有,为了使它成为Debian
和Ubuntu
衍生物的默认值(通常已经是这种情况):
$ sudo update-alternatives --set rename /path/to/rename
将/path/to/rename
替换为perl rename
可执行文件的路径。
如果您没有此命令,请搜索包管理器以安装它或do it manually(没有deps ...)
这个工具最初是由Perl的父亲Larry Wall编写的。
find -iname \*.* | rename -v "s/\s{2}/ /g"
这是帮助我的最后一个命令。我使用perl重命名,请参阅Gilles的回答