利用perl批量重命名文件

使用perl自带函数rename可以重命名文件名称,具体用法,rename $old_name, $new_name。

例如,要把文件名中“7--1_F03_2018-12-28.fsa”中的前缀“7--”去除。

 1 use strict;
 2
 3 my $DIR_PATH = "./"; # current directory
 4 opendir TEMP, ${DIR_PATH} || die "Can not open this directory";
 5 my @filelist = readdir TEMP; #读取目录下的所有文件名
 6
 7 foreach (@filelist) {
 8     my $tmp = $_;
 9     if ( $tmp ne "." && $tmp ne ".." ) { #去掉当前目录和上级目录,非必须
10         if ( $tmp  =~ /^7--(.+\.fsa)/ ) { #运用正则筛选需要替换的部分
11            rename( $DIR_PATH . $_, $DIR_PATH . $1);
12         }
13   }
14 }

关于perl的文件系统的操作实例,之前的例子还有:

合并并转化一代测序seq纯文本为fasta格式文件

气相PLFA原始数据整合处理脚本

脚本参阅

关于Perl文件操作——批量修改文件名

原文地址:https://www.cnblogs.com/liulele/p/10617058.html

时间: 2024-12-14 11:26:55

利用perl批量重命名文件的相关文章

利用Python批量重命名文件(给非技术人员的Python实例参考)

转自https://www.cnblogs.com/brucex/p/python-rename-example.html 这一回我需要完成的任务是把"照片"目录下面的数百个以"数字+中文姓名.jpg"的文件批量重命名,我需要把"数字"删除,保留"中文姓名.jpg",手工改名将是一件繁琐无趣的事.很自然我想到了我一直很喜欢的Python,当然,在这里除了Python还可以用Perl.Ruby.PHP.DOS Batch.VBS

五种方法实现Linux批量重命名文件

五种方法实现Linux批量重命名文件 Linux批量重命名文件是指对某些特定的文件统一进行重新命名,以改变原来一批文件的名称,这里介绍五种方法来实现. AD: Linux批量重命名文件会涉及到改变一个字母.改变一些相连字母.改变某些位置的字母.在最前面加上某些字母.或者改变字母的大小写.完成这里五个方法基本上就会解决了Linux批量重命名的工作. 1.我想把它们的名字的第一个1个字母变为"q",其它的不变 [[email protected] mailqueue]# for i in

通过DOS命令批量重命名文件

以下为提供的两种方法:遍历当前目录下的所有文件名以.avi结尾的文件,然后权限规则进行修改(规则含义请自行查找资料).第一种方法有缺陷,更改完所有的文件名后,会多改一次.请斟酌使用.第二种方法解决了第一个方法的不足. 方法一: 1 @echo off   2 setlocal enabledelayedexpansion   3    4 for /f "delims="  %%a in ('dir /a-d /s /b *.avi') do (   5     echo "

批量重命名文件

今天突然想给桌面换张壁纸,打开原来的壁纸文件夹,很多当时觉得不错的壁纸现在已经不能看了,删掉一些之后,壁纸文件的名称变得断断续续.当时下载时是按照数字顺序命名的,现在看上去多少有些别扭.于是突发奇想,能否批量给某一目录下的文件重命名,比如我现在的壁纸文件夹. 首先我想到应该要打开一个目录,猜想是否有opendir之类的函数?果然有!在头文件<dirent.h>下面: DIR* __cdecl __MINGW_NOTHROW opendir (const char*); 返回值是DIR*,查看D

一个Java写的批量重命名文件小程序

今天学了一下java的File操作,然后乘着兴趣,写了一个可以批量处理文件命名的小程序,小程序还有一些不完美的地方,但胜在有趣.比如可以快捷更改你不想让别人看到的文件之类的...限个人使用,造成数据丢失后果自负哟. import java.io.File; import java.sql.Date; import java.util.Scanner; public class RenameTool { boolean useDefaultName = false; boolean useDefa

批量重命名文件名称小软件

说在前面 先扯会,如果不是Android开发的,要使用本小软件,可以直接到下面正题 在Android开发中,有时会遇到大量文件需要重命名的情况,特别是一些图片文件.有两个同学遇到过这种情况,我暂时还没遇到,但这种情况以后肯定会遇到的. 可以用批处理命令(move,ren)来解决,但要一条一条写命令,写修改后的文件名,还要写原文件名.如果有些修改后的名称直接是a001.txt,a002.txt,a003.txt,--毫无疑问这样有规律的名称,用万能的Excel解决最快了,一个拖拉就搞定.以前也写过

linux 批量重命名文件

1. 分隔 >>split -l 5 data_out.sql test 2.重命名 >>for j in test*; do mv -v -- "$j" "$j.sql";done To export If it's an entire DB, then: $ mysqldump -u [uname] -p[pass] db_name > db_backup.sql If it's all DBs, then: $ mysqldump

VBS实现批量重命名文件并且操作前备份原有文件

'=========================================================================='' VBScript Source File -- Created with SAPIEN Technologies PrimalScript 4.0'' NAME: '' AUTHOR: Microsoft , Microsoft' DATE : 2014/7/9'' COMMENT: '批量修改文件夹下对应的所有文件名''==========

DOS命令批量重命名文件配合Excel 操作备忘

批量取得文件夹下文件名 有时候文件夹下有好多图片什么的,文件名称不是统一的格式,想统一一下,于是google找到以下方法,进入要操作的目录,按住shift键的同时,单击鼠标右键,你会看到在此处打开命令行窗口的字样点击下就进入 了DOS操作窗口了 win键+r进入命令行,输入以下命令, dir /s/b>文件名随便打.bat      这个是取得全路径文件名 dir /b>文件名随便打.bat 这个是只取得当前目录下的文件名 于是在当前目录下生成了 再用记事本打开 你相要的名称.bat 把它的内