重命名命令中的下划线(Perl和Unix shell)

时间:2012-04-07 14:45:48

标签: perl shell expression rename

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

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

有人可以向我解释有什么问题吗?

2 个答案:

答案 0 :(得分:4)

如果您正在使用a Perl-based rename(正如您的代码所示),则w不是Perl正则表达式操作。

rename -f 's/_/-/g' *_*.mat

答案 1 :(得分:2)

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

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

perl -e 'do { (my $f = $_) =~ tr/_/-/; rename $_, $f } for glob "@ARGV"' *.mat
相关问题