【发布时间】:2014-01-22 09:44:29
【问题描述】:
我想使用 perl 重命名文件的一部分。我知道如何重命名有空格的文件名,我这样做是因为文件名有“我的 123.log”。此代码会将其重命名为 new_123.log。
foreach my $i (<"my *.log">) {
my $y = $i; # save the original file name
$i =~ s/my /new_/; # replace the spaces with a _ character
rename ( $y, $i ); # rename the original file with the new name
现在我想重命名名为 my.123.log 的文件,我很困惑如何处理这个 '.'在文件名中。如果我想重命名一个以我的名字开头的文件名(更不用说我的 123.log),那么这个命令可以吗?我想使用它,因为我只知道文件名的开头
move '../my *.log', '../new.log' or die "cant change the name";
【问题讨论】:
-
原始日志的所有可能的名称是什么?有多个选项很难解释它们。
-
日志文件以 my 开头,然后是日期和时间,如 my.22-1-2014-00-33-57.log 所以我只想将 my 编辑为新的跨度>
-
是的,我定义为
use File::Copy qw(move);
标签: perl