在 Fedora 中重命名文件夹名称

在 Fedora 中重命名文件夹名称

我在 Fedora 31 中使用它rename来重命名一些文件夹。本质上,我想从文件夹中删除所有空格并用点替换。我正在使用以下命令

rename -v " " "." *

但是,上述命令仅替换第一次出现的空格。例如,向我显示以下消息

'folder with multiple space' -> 'folder.with multiple space'

如果我再次运行它,它只会替换下一个空格。有没有办法一次性全部更换? Debian/Ubuntu 版本的sedtype 命令"s/ /\./g"在我的情况下不起作用。它给了我错误,没有足够的参数。

答案1

如果使用zsh,则使用zmv

对于bash:

for i in *\ *; do
    mv -vnT "$i" "${i// /.}"
done

答案2

手册页说这就是它的工作原理,它仅替换第一个匹配项,并且没有覆盖它的选项。

男人重命名:

rename  will  rename the specified files by replacing the first
occurrence of expression in their name by replacement.

当然,您可以编写脚本:

while [ "$(rename -v " " "." *)" ]
do
  true
done

Debian/Ubuntu 使用完全不同的rename.

相关内容