菜鸡一只

,请大佬帮忙
东拼西凑出一个来
- find "$filepath/." -name "* *"|
- while read name;do
- na=$(echo $name | tr ' ' '_')
- mv "$name" $na
- done
会寻找指定目录下的文件夹名或文件名,当名称中存在空格就会用_替换。
但是如果下级目录中有空格就会报错终止。
比如Download/1 2/,中没有错误,1 2文件夹就会更名为1_2
如果1 2文件夹下有个3 4文件夹,就会报错终止。
如何修改可以遍历目录下所有层级,实现
download/1 2/3 4/5 6/ 更名为 download/1_2/3_4/5_6/