`
天梯梦
  • 浏览: 13742333 次
  • 性别: Icon_minigender_2
  • 来自: 洛杉矶
社区版块
存档分类
最新评论

Linux: mv, rename单次及批次修改档案名称及后缀(批量修改文件名)

 
阅读更多

在Windows 系统中,无论我们要重新命名资料夹或是档案,
通常都点下右键后选择重新命名即可,


如果对快捷键比较熟,直接按下F2 可以更快地达成目的。
而在Linux系统中,重新命名资料夹或档案也可以透过同一个指令来达成,这个指令是mv mv 是move 的缩写,他除了移动档案资料夹的功能外也可以同时重新命名。
所以其实仔细想想拿他来重新命名档案也不会很难理解啦,
重新命名时只是把档案移动到同一个资料夹,然后趁着移动时把档名给顺便改了!

说了这么多那mv 指令到底该怎么使用呢?

 

# mv $1 $2
# $1: 旧档案或资料夹名称
# $2: 新的档案或资料夹名称
mv oldname.txt newname.txt

 

 

上面的方法是用来重新命名单一档案或资料夹,
但是当一个目录资料夹底下有很多有特定规则档名的档案需要改名,
例如相机产生的档案IMG001.jpg~IMG999.jpg 超多档案,
这绝对不可能直接用mv 一个个慢慢敲来改名的。
这时候另一个指令就可以派上用场了,
rename 这个指令可以用来批次修改档名共同的部分,使用方式如下:

 

# rename $1 $2 $3
# $1: 要被取代的关键字
# $2: 新的关键字
# $3: 档名符合这个规则的才取代
# 把IMG001.jpg, IMG002.jpg… 换成img001.jpg, img002.jpg… 
 rename IMG img IMG*

 # 把所有.htm 档案改成.html
 rename .htm .html *.htm

 # 把档案foo1, ..., foo9, foo10, ..., foo278.
 # 改成foo001, ..., foo009, foo010, ..., foo278.
 rename foo foo0 foo?
 rename foo foo0 foo??

 

 

来源:http://werdna1222coldcodes.blogspot.com/2012/04/linux-scriptmv-rename.html

 

rename

相关命令:mv
rename 用于 对文件进行命名管理,可进行批量命名并支持正则表达式, 
rename命令存在两个版本用法上有所区别 
一个是 C语言版本支持通配符,
另一个是 Perl版本.支持正则表达式

参数

-n    操作预览,在不更改文件名称情况下,显示执行后的结果
-f    强制执行
 
【常用通配符说明】
 ?    表示一个任意字符
 *    表示一个或一串任意字符
-------------------------------------------------
【常用正则表达式符号说明】
^    匹配输入的开始位置
$    匹配输入的结尾
.    匹配除换行符外的任意字符
+    匹配前一个字符一次或多次 例如,"zo+"可以匹配"zoo",但不匹配"z"
[a-z]    表示某个范围内的字符,例如,"[a-z]"匹配"a"与"z"之间的任何一个小写字母字符。
[^m-z]    否定的字符区间。与不在指定区间内的字符匹配。

 

[root@localhost www]# rename 's/\.sh/\.php/' *        #将当前目录下.sh后缀的文件,变成.php

[root@localhost www]# rename 's/$/\.bak/' /home/www/*.php     #给www目录下的.php加上bak后缀

[root@localhost www]# rename 's/^/bak_/' *.bin     #给当前目录下的.bin后缀文件加上bak_前缀

[root@localhost www]# rename 's/\.bin$//' *       #批量删除当前目录下所有文件的.bin 后缀

[root@localhost www]# rename 's/A-Z/a-z/' *       #修改当前目录所有文件名为小写

 

 

其他方法:

for i in `ls`; do mv -f $i `echo $i | sed 's/oldstring/newstring/'`;  done

 

或者

#使用perl语言
find  ./ -name '*.sh' | xargs perl -pi -e 's|string1|string2|g'

#使用sed程序
find  ./ -name '*.sh' | xargs sed -i 's/string1|string2/g'

 上面的'*.sh'替换成需要修改的文件名,string1是需要修改的字符串,string2是修改后的字符串。

 

 

分享到:
评论

相关推荐

    用CFile::Rename给文件改名

    CFile::Rename方法是该类中的一个成员函数,专门用于改变文件的名称。其基本语法如下: ```cpp BOOL Rename(const char* newFileName); ``` 这里的`newFileName`参数是你想要新文件名的字符串表示,包括路径。如果...

    SRename-v1.98i 拖把更名器 文件名批量修改.rar

    【标题】:“SRename-v1.98i 拖把更名器”是一款功能强大的文件批量修改工具,主要用于帮助用户高效地管理大量的文件名。它支持多种命名规则,能够一次性对多个文件进行重命名操作,极大地提高了工作效率。 【描述...

    rename批量修改文件名

    1. **批量重命名**:rename6.6的核心功能在于其批量处理能力,可以一次处理数百甚至数千个文件,只需设定好规则,如添加前缀、后缀、替换字符串、更改文件扩展名等,所有符合条件的文件名将按照设定规则自动更改。...

    Rename批量修改文件名

    它允许用户一次性更改多个文件的属性和名称,极大地提高了工作效率。 Rename软件的核心功能是批量重命名。这在处理照片、音乐、文档等大量文件时特别有用,例如,当需要统一文件的格式、添加日期戳或者去除某些字符...

    Linux中用rename命令批量替换文件名方法实例

    在Linux系统中修改文件名可以用mv命令,但是它只能对单个文件进行操作,如要要批量执行还要写shell脚本,用for语句迭代执行,不过Linux中另外一个命令支持批量替换文件名,它是rename,rename支持正则表达式匹配。...

    批量修改文件名工具 文件名批量修改

    这些工具允许用户一次性更改多个文件的名称,避免了手动逐个修改的繁琐过程。下面我们将详细探讨批量修改文件名的相关知识点。 1. **为什么要批量修改文件名**: - 统一命名规范:在项目管理、数据整理或共享文件...

    批量修改文件名及后缀

    在IT领域,批量修改文件名和后缀是一项常见的任务,特别是在处理大量文件时,手动更改每个文件的名称或扩展名会非常耗时且效率低下。批量操作能够大大提高工作效率,节省宝贵的时间。以下是一些关于如何批量修改...

    批量修改文件名工具/加后缀前缀/批量修改批量重命名工具替换文件后缀软件

    批量修改文件名工具/加后缀前缀/批量修改文件后缀软件,专业的批量修改文件名的软件,适用于任何文件,支持对目录和文件的混合更名操作 支持在文件上面批量器右键菜单; 支持对文件扩展名字符串的添加、替换、删除...

    批量更改文件名后缀

    批量更改文件名后缀是一个高效且必要的技能,尤其对于处理大量数据或文件整理的IT专业人员来说。下面我们将详细介绍如何批量更改文件名后缀,以及相关的实用工具和方法。 1. **Windows操作系统中的批量重命名功能**...

    ReName(绿化)批量修改文件名/扩展名

    1. **批量重命名**:可以一次性更改多个文件的名称,适用于同一类型的文件需要统一命名的情况。 2. **修改扩展名**:允许用户改变文件的后缀,这对于转换文件类型或统一文件格式非常有用。 3. **预览功能**:在实际...

    RENAME_2.0文件名批量修改工具

    **RENAME_2.0文件名批量修改工具详解** 在日常工作中,我们常常需要处理大量的文件,特别是对于那些需要...通过其强大的命名规则设定和安全机制,用户可以放心地进行批量文件名修改,从而提升工作或项目管理的效率。

    批量修改文件名,多种规则

    - **图形界面工具**:例如,Windows的“Bulk Rename Utility”、Linux的“Prename”以及macOS的“NameChanger”等,提供直观的用户界面,通过设置规则来批量修改文件名。 - **编程语言脚本**:使用Python、批处理...

    pb实现批量更改文件名

    总结来说,利用PowerBuilder实现批量更改文件名涉及的关键知识点包括:创建和使用FileSystemObject对象、遍历目录和文件、调用Rename方法进行文件重命名,以及必要的错误处理和资源释放。理解并掌握这些概念和操作,...

    批量更改文件名和文件内容

    对于批量更改文件名和文件内容,我们可以使用内置的命令如`rename`或`mv`(用于改名)和`sed`(用于修改文件内容)。 首先,让我们看看如何使用`rename`命令批量更改文件名。`rename`命令通常用于批量重命名符合...

    批量更改文件名 替换文件名 批量智能命名文件

    在日常的计算机操作中,有时我们需要对大量的文件进行统一的命名操作,比如批量更改文件名、替换文件名或采用批量智能命名方式。这样的需求在处理照片、文档、音乐等大量文件时尤为常见,能有效提高工作效率。下面...

    批量更改文件夹中的任意文件名

    根据提供的压缩包文件名称“批量更改文件名.exe”,这可能是一款专用于批量重命名的Windows应用程序。此类程序通常包含用户友好的图形界面,用户可以选择文件夹,设定重命名规则,然后一键执行批量更名。它可能提供...

    批量修改文件名 批量修改文件名

    批量修改文件名的基本原理是通过一种预定义的规则或模式来一次性更改多个文件的名称。这些规则可以包括替换特定的字符串、添加前缀或后缀、按照数字顺序重命名以及应用日期或时间格式等。例如,你可以将所有以“旧...

    Linux批量重命名 rename & mv

    ### Linux批量重命名工具:rename与mv命令详解 在Linux系统中,文件的重命名是一项常见操作。通常情况下,用户可能会直接使用`mv`命令来进行单个文件的重命名,但对于需要批量重命名的情况,`rename`命令则更为实用...

    批量修改文件名 修改文件名

    批量修改文件名可以帮助用户节省大量时间,提高工作效率,避免手动逐个更改的繁琐。以下是对批量修改文件名这一主题的详细解释: 1. **为什么要批量修改文件名**: - 统一格式:当文件来自不同来源,命名规则不...

    批量修改文件名软件,FreeRename5.3

    1. **批量修改文件名**:你可以一次性更改多个文件的名称,无需逐个操作。这对于整理照片、文档或其他类型的数据集合特别有用,比如统一格式或按照特定规则命名。 2. **更改文件后缀**:该软件允许用户修改文件的...

Global site tag (gtag.js) - Google Analytics