用命令recursevily用 - (破折号)替换空格的Linux命令?

时间:2016-02-20 17:09:45

标签: linux replace find command batch-rename

如何使用命令行从Linux目录名替换 - (破折号)空格?

注意:有数百个目录,所有目录都有子目录。

我已尝试过以下命令,但它会返回消息 '调用:重命名为文件...' ,并且所有名称仍未更改。

find /home/jjj/ddd -name "* *" -type d | rename 's/ /-/g'

我想将“目录名称”更改为“目录名称”。

1 个答案:

答案 0 :(得分:1)

您可以尝试使用shell而不是重命名

find /home/jjj/ddd -depth -name "* *" -type d -print0 | while read -d $'\0' dir; do mv -v "$dir" "${dir// /-}"; done
  

添加-depth以使其符合要求。