如何在 Linux 中使用命令行将目录名中的空格替换为 -(破折号)?
注意:有数百个目录,每个目录都有子目录。
我尝试了以下命令,但它返回一条消息'call: rename from to files...'并且所有名称仍未更改。
find /home/jjj/ddd -name "* *" -type d | rename 's/ /-/g'
我想将“目录名称”更改为“目录名称”。
最佳答案
您可以尝试使用 shell 而不是重命名
find /home/jjj/ddd -depth -name "* *" -type d -print0 | while read -d $'\0' dir; do mv -v "$dir" "${dir// /-}"; done
added
-depth
to make it proper as per requirement.
关于Linux命令递归地用目录名称中的-(破折号)替换空格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35526367/