【发布时间】:2014-02-10 12:31:26
【问题描述】:
我一直在尝试编写一个脚本来重命名所有包含空格的文件并用破折号替换空格。
示例:“Hey Bob.txt”到“Hey-Bob.txt”
当我使用 for 循环时,它只是在空格处拆分文件名,因此“Hey Bob.txt”给出了单独的参数,如“Hey”和“Bob.txt”。
我尝试了以下脚本,但它一直挂在我身上。
#!/bin/bashfind / -name '* *' -exec mv {} $(echo {} | sed 's/ /-g')\;
【问题讨论】:
-
几乎可以肯定是引用问题,但我不确定引用
{}是否需要或会有所帮助。值得一试,对吧?否则,回到你的循环解决方案并 dbl-quote 所有对变量的引用。祝你好运。