这将删除文件名中的空格。
我怎样才能删除破折号 - ?
rename "s/ //g" *
答案1
rename
在 Ubuntu 中有一个perl
工具,它使用perl
句法:
s/regex/replacement/modifiers
就你的情况而言:
- 正则表达式是一个空格(你想要替换的内容)
- 替代品为空(你想用空内容替换)
- 修饰符是
g
(第一次正则表达式匹配后不要停止)
因此,您需要了解如何编辑正则表达式以匹配破折号:
只需使用它即可删除破折号:
rename 's/-//g' *
但如果你想删除破折号和空格,你可以使用字符类。
所以这将为你做到这一点:
rename 's/[- ]//g' *
请注意,当任何文件名以 开头时-
,它将不起作用。请参阅@BillPoser 的回答。
答案2
rename 's/-//g' *
当任何文件名以破折号开头时,它不起作用,因为它会被解释为启动一个选项。您需要使用 -- 标志来终止选项字符串:
rename -- 's/-//g' *