【问题标题】:How to remove spaces from many file names under CygwinCygwin下如何去除多个文件名中的空格
【发布时间】:2011-05-13 18:19:11
【问题描述】:

我希望有人可以帮助我,我需要从 cygwin 系统上的数千个文件中删除空格(而不是用下划线替换)。 我可以以某种方式使用 rename 或 mv 从 shell 执行此操作吗?

目前:

文件 one.mp3
文件二.mp3

所有文件都需要变成:

fileone.mp3

filetwo.mp3

谢谢

【问题讨论】:

    标签: batch-file renaming


    【解决方案1】:

    除了上面修改文件名的答案,下面是修改目录名的代码:

    find $DIR -type d -name '* *' | while read f; do d="${f%/*}"; f="${f##*/}"; echo mv "$d/$f" "$d/${f// }"; done
    

    唯一的区别是从行首开始的第四个参数。字母“f”改为“d”,分别对应文件和目录。

    【讨论】:

      【解决方案2】:

      默认的 Cygwin shell 是 bash,所以...

      试试这个命令行,将 $DIR 替换为您要执行上述转换的目录,然后检查输出:

      find $DIR -type f -name '* *' | while read f; do d="${f%/*}"; f="${f##*/}"; echo mv "$d/$f" "$d/${f// }"; done
      

      如果您对将要执行的命令感到满意,只需删除 mv 之前的 echo 并重复执行实际的重命名。请注意,这只会重命名文件,而不是目录。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-08-20
        • 1970-01-01
        • 2018-11-22
        • 2013-01-30
        • 2014-05-01
        • 1970-01-01
        相关资源
        最近更新 更多