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";
  }
}
相关推荐
郑州光合科技余经理3 天前
代码展示:PHP搭建海外版外卖系统源码解析
java·开发语言·前端·后端·系统架构·uni-app·php
feifeigo1233 天前
matlab画图工具
开发语言·matlab
dustcell.3 天前
haproxy七层代理
java·开发语言·前端
norlan_jame3 天前
C-PHY与D-PHY差异
c语言·开发语言
多恩Stone3 天前
【C++入门扫盲1】C++ 与 Python:类型、编译器/解释器与 CPU 的关系
开发语言·c++·人工智能·python·算法·3d·aigc
QQ4022054963 天前
Python+django+vue3预制菜半成品配菜平台
开发语言·python·django
遥遥江上月3 天前
Node.js + Stagehand + Python 部署
开发语言·python·node.js
m0_531237173 天前
C语言-数组练习进阶
c语言·开发语言·算法
Railshiqian3 天前
给android源码下的模拟器添加两个后排屏的修改
android·开发语言·javascript
雪人不是菜鸡3 天前
简单工厂模式
开发语言·算法·c#