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";
  }
}
相关推荐
余额瞒着我当琳几秒前
C++--vector底层,leetcode118杨辉三角实战,对于传统reserve的坑点,迭代器失效
开发语言·c++
曹牧3 分钟前
C#:字符串做20位截断
开发语言·c#
醉城夜风~22 分钟前
(超详细)C++多态(Polymorphism)
开发语言·c++
这是个栗子25 分钟前
【JS代码分析】前端鉴权基础:Token 的本地存储与状态重置实践
开发语言·前端·javascript
wuyk55534 分钟前
7.AVL 树:第一个自平衡二叉搜索树
开发语言·stm32·单片机·算法
SomeB1oody1 小时前
【RustyML入门】5.3. 聚类指标
开发语言·后端·机器学习·rust·教程
OPEN-F1 小时前
Python进阶教程:Web开发入门(Flask)
开发语言·python
神仙别闹1 小时前
基于C++ MFC实现动态分区分配存储管理
开发语言·c++·mfc
for_ever_love__1 小时前
python基础语法学习: 类型注解
开发语言·python·学习
caimouse1 小时前
ReactOS 图形系统分析(46):DC 工具 — dcutil.c
c语言·开发语言