perl统一修改文件前缀并排序

perl统一修改文件前缀并排序

如题,perl统一修改文件前缀并排序。

举例说明,修改*.txt文件,并排序。

当前目录下,有如下文件

perl 复制代码
a.txt
b.txt
fsjkd.txt
ffsjk_tst.txt

运行rename_prefix脚本后,输入的第一个参数为txt,第二个参数为test,结果如下:

perl 复制代码
test1.txt
test2.txt
test3.txt
test4.txt

rename_prefix脚本的内容如下:

perl 复制代码
#!/bin/perl
use 5.010;

print "Pleast input file suffix which U want to rename!\n";
chomp (my $suffix = <>); # 去除输入参数中的回车符
print "Pleast output file prefix which U want to rename!\n";
chomp (my $prefix = <>); # 去除输入参数中的回车符

my $i;
foreach my $file(glob "*.$suffix") {
  $i += 1;
  my $new_file = $file =~ s/\w*\./$prefix$i./r; # 使用r修饰符,实际上是在替换前先拷贝一份待替换数据,然后在副本上进行替换,所以原始数据不会发生改变
  if (-e $new_file) {
    warn "Cannot rename $file to $new_file: $new_file exists\n";
  } elsif (rename $file => $new_file) {
  } else {
    warn "rename $file to $new_file failed:$!\n";
  }
}
相关推荐
踩着两条虫12 小时前
「AI + 低代码」的可视化设计器
开发语言·前端·低代码·设计模式·架构
JoneBB12 小时前
ABAP Webservice连接
运维·开发语言·数据库·学习
即使再小的船也能远航12 小时前
【Python】安装
开发语言·python
Irissgwe12 小时前
类与对象(三)
开发语言·c++·类和对象·友元
雪度娃娃13 小时前
转向现代C++——优先选用nullptr而不是0和NULL
开发语言·c++
萌新小码农‍14 小时前
python装饰器
开发语言·前端·python
KK溜了溜了14 小时前
Python从入门到精通
服务器·开发语言·python
故事和你9114 小时前
洛谷-【图论2-1】树5
开发语言·数据结构·c++·算法·动态规划·图论
threelab14 小时前
Three.js 初中数学函数可视化 | 三维可视化 / AI 提示词
开发语言·前端·javascript·人工智能·3d·着色器
xiaoshuaishuai814 小时前
C# CDN加速与离线包优化PowerSetting慢问题
开发语言·windows·spring·c#