2

我正在尝试用连字符替换一个文件夹内所有文件名中的所有_下划线字符。我输入不同的版本失败:-.mat

rename -f 'w/_/-' *.mat

有人可以向我解释什么是错的吗?

4

2 回答 2

4

如果您使用的是基于 Perl 的rename(正如您的标签所建议的那样),则w不是 Perl 正则表达式操作。

rename -f 's/_/-/g' *_*.mat
于 2012-04-07T14:53:54.970 回答
2

我无法理解您是使用 shell 重命名还是 Perl 重命名:在这两种情况下我都无法理解您的命令。

用于重命名当前目录中所有文件的 Perl 命令行脚本*.mat如下所示

perl -e 'do { (my $f = $_) =~ tr/_/-/; rename $_, $f } for glob "@ARGV"' *.mat
于 2012-04-07T16:06:58.063 回答