一个批量重命名的问题,想知道能不能用BASH的脚本来实现

一个批量重命名的问题,想知道能不能用BASH的脚本来实现

现有文件格式:"a-b.c"
目的文件格式:"a - b.c"

也就是在"-"前后各插入一个空格,请各位大虾不吝赐教!
no one?
[quote:c2d2dc3c92="redhat71"]现有文件格式:"a-b.c"
目的文件格式:"a - b.c"

也就是在"-"前后各插入一个空格,请各位大虾不吝赐教![/quote]
文件名可以使用空格吗?
大虾没出现,倒引出一位小白来。。。呵呵
[quote:3b27b70f5d="redhat71"]现有文件格式:"a-b.c"
目的文件格式:"a - b.c"

也就是在"-"前后各插入一个空格,请各位大虾不吝赐教![/quote]
用rename命令

rename b -b (某个目录下的所有文件名)

比如

rename htm html /mnt/*
man了一下,但没看明白怎么在我的例子里应用

比如说,目前是这样
[email@redhat71 /tmp/123]$ ls
a-1.mp3  b-2.mp3

期待的结果是这样
[email@redhat71 /tmp/123]$ ls
a - 1.mp3  b - 2.mp3

如何用rename实现?
为什么要搞这么变态的带个空格的文件名字?
不过空格也许可用\加上空格也引用,good luck。
rename a-1.mp3 a\ -\ 1.mp3
[quote:4f6a5a41b9="UMBRO"]为什么要搞这么变态的带个空格的文件名字?
[/quote]

因为我喜欢。。。
引用:
不过空格也许可用\加上空格也引用,good luck。
不是也许,是当然可以,我上面都已经列出来了带空格的文件名
引用:
rename a-1.mp3 a\ -\ 1.mp3
看清楚问题,我说的是批量,不是手动一个个改
fancyworld test $ touch a-1.mp3
fancyworld test $ touch b-2.mp3
fancyworld test $ ls
a-1.mp3  b-2.mp3
fancyworld test $ rename - " - " *
fancyworld test $ ls
a - 1.mp3  b - 2.mp3
也可以这样:先枚举目录中的每个文件名,然后对这个字符串进行变换,然后使用mv命令改名。
去熟悉shell基础编程先.