perl-rename - /g' 和 /' 之间有什么区别?

perl-rename - /g' 和 /' 之间有什么区别?

我想.txt用空格替换所有文件中的所有破折号。

幸运的是,我最终发现使用

perl-rename  's/[-]/ /g' *.txt

做我想做的事。但在此之前,我进行了几分钟的搜索和测试,我认为这perl-rename 's/[-]/ /' *.txt可以解决问题。但它不会,因为它只删除文件名中的第一个破折号。为什么?

另外,一个相关的元问题:我到底在哪里可以找到关于 的好指南perl-rename

答案1

Wellg代表全局,这意味着您将替换您指定的模式的每个非重叠匹配项。所以

perl-rename  's/[-]/ /g' *.txt

会将每次出现的 替换-为空格。

相关内容