使用 Perl 的 File::Copy 重命名文件扩展名
如何使用 File::Copy
重命名文件扩展名?
到目前为止,我可以添加一个扩展。我需要替换文件扩展名。
例子: myfilename.txt
到 myfilename.dat
我的代码:
use strict;
use warnings;
use File::Copy;
my ($oldfn) = qw (myfilename.txt);
my $newfn = $oldfn . ".dat";
rename($oldfn, $newfn)
or die("Can't rename: $!\n");
结果:myfilename.txt.dat
How do I use File::Copy
to rename a file extension?
So far, I can add an extension. I need to replace the file extension instead.
Example:myfilename.txt
to myfilename.dat
My code:
use strict;
use warnings;
use File::Copy;
my ($oldfn) = qw (myfilename.txt);
my $newfn = $oldfn . ".dat";
rename($oldfn, $newfn)
or die("Can't rename: $!\n");
Result: myfilename.txt.dat
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
使用 File::Basename 的 fileparse 方法查找后缀,然后进行搜索/替换。
输出:
Use File::Basename's fileparse method to find the suffix, then do a search/replace.
Output:
一个简单的正则表达式就足够了:
哦,您可能还想做:
否则您将使用 Perl 的内置函数 重命名。
A simple regex will suffice:
Oh, you might also want to do:
Otherwise you are using Perl's built-in function rename.
一点正则表达式就可以完成这项工作:
A little regex would do the job: