在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是修改后的字符串。
相关推荐
在Linux系统中修改文件名可以用mv命令,但是它只能对单个文件进行操作,如要要批量执行还要写shell脚本,用for语句迭代执行,不过Linux中另外一个命令支持批量替换文件名,它是rename,rename支持正则表达式匹配。...
非常强大好用的批量修改文件名称的工具:rename6.6 平台:windows
一款可以批量修改文件属性,名称的强大软件,使用这款Rename软件可以高效的进行文件批量修改
批量修改文件名工具/加后缀前缀/批量修改文件后缀软件,专业的批量修改文件名的软件,适用于任何文件,支持对目录和文件的混合更名操作 支持在文件上面批量器右键菜单; 支持对文件扩展名字符串的添加、替换、删除...
SRename-v1.98i 拖把更名器 文件名批量修改.rar
RENAME_2.0文件名批量修改工具,可以更改大批量的文件
Visual C++中,用MFC的CFile::Rename给文件改名
pb实现批量更改文件名
最新的 ReName(绿化)批量修改文件名/扩展名,更多功能查看。
Delphi 修改文件名范例,更改文件名称,操作时选择要更改的文件名,然后设置更改后的文件名,点击确定按钮即可修改文件名。本例中修改文件名使用Delphi中自带函数RenameFile来实现,具体用法可参考下述代码: Try ...
Bulk Rename Utility是一款专业强大的批量更改文件名工具,从它的操作界面上就能看出它的功能是相当丰富。安装时可添加到WINDOWS资源管理器扩展,支持更改文件时间戳,更改文件属性及转换字符,重命名Javascript,...
title 批量文件重命名 输出日志ReName.log set /p strFirst=请输入截取前边的字符: set /p nMax=请输入要留下的字数: set /p strExe=请输入后缀名: set nFirst= call:stringlength "%strFirst%" nFirst echo 您输入:...
全名:Bulk Rename Utility2.7.1.2.exe, 批改工具使用方法:https://blog.csdn.net/qq_38161040/article/details/106495264
批量修改后缀名 Bulk Rename Utility win7 完美用
rename除了给单个文件重命名,还可以批量文件重命名。同时,值得注意一点的是,rename命令是带3个参数而不是很多人认为的2个参数。
用java(eclipse swt)写的小程序,批量修改文件名,方便、快捷
可以批量修改文件名,后缀,修改文件属性,首字母大小写,转换大小写,还可以替换文字
BulkRenameUtility个人汉化版,其中支持正则表达式方法更改。
1.编写一个可以批量修改文件名的小程序 代码: import os import re import sys fileList = os.listdir(r"./xiugai") # 输出此文件夹中包含的文件名称 print("修改前:" + str(fileList)[1]) # 得到进程当前工作目录...