如何将文件名的双连字符更改为单连字符?

如何将文件名的双连字符更改为单连字符?

我一直在使用该rename命令来控制我的系统中的命名约定。在将文件名中的空格转换为连字符时,我无意中在某些文件名中创建了连续的连字符。事实证明,使用重命名命令很难修复这些问题。

我尝试了以下几种不同的迭代,但没有成功:

rename 's/--/-/g'

我确实知道双连字符是为参数结尾保留的,但反斜杠转义在这里似乎不起作用,我没有其他想法。

我对命令行处理比较陌生,因此感谢您的耐心。

答案1

要将当前目录中的所有文件的多个连字符(一个连字符后跟一个或多个连字符)压缩为一个连字符,请使用:

rename 's/--+/-/g' -- *

如果文件以连字符开头,则这一点--很重要,否则它们将被解释为命令行参数。展开*到当前目录中的文件列表。

相关内容