用perl写一个替换文件名字的囧啊本
时间: 2024-03-26 07:40:17 浏览: 164
你可以使用 Perl 的 rename 函数来批量修改文件名。下面是一个简单的例子,可以将目录中所有扩展名为 ".txt" 的文件名替换为 ".doc":
```perl
#!/usr/bin/perl
use strict;
use warnings;
my $dir = '/path/to/directory';
opendir(my $dh, $dir) || die "Can't open directory: $!";
while (my $file = readdir($dh)) {
next if ($file =~ /^\./); # skip hidden files
next unless ($file =~ /\.txt$/i); # process only .txt files
my $newname = $file;
$newname =~ s/\.txt$/.doc/i; # replace .txt with .doc
rename("$dir/$file", "$dir/$newname") || warn "Can't rename $file: $!";
}
closedir($dh);
```
在上面的代码中,我们首先打开指定目录,然后遍历目录中的所有文件名,跳过隐藏文件和非 ".txt" 扩展名的文件。对于每个 ".txt" 文件,我们将其文件名中的 ".txt" 替换为 ".doc",然后使用 rename 函数将其重命名为新的文件名。如果重命名失败,我们会发出警告。
阅读全文