Linux 命令递归地用目录名称中的 -(破折号)替换空格?
Linux command to replace spaces with -(dash) from directories name recursevily?
如何使用命令行将 Linux 目录名中的空格替换为 -(破折号)?
注意:有数百个目录,而且每个目录都有子目录。
我试过下面的命令,但它 return 一条消息 '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 $'[=10=]' dir; do mv -v "$dir" "${dir// /-}"; done
added -depth
to make it proper as per requirement.
如何使用命令行将 Linux 目录名中的空格替换为 -(破折号)?
注意:有数百个目录,而且每个目录都有子目录。
我试过下面的命令,但它 return 一条消息 '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 $'[=10=]' dir; do mv -v "$dir" "${dir// /-}"; done
added
-depth
to make it proper as per requirement.