
linux的rename命令有两个版本,一个是c语言版本的,一个是perl语言版本的,判断方法:
输入man rename 看到第一行是:
RENAME(1) Linux Programmer’s Manual RENAME(1)
这个就是C语言版本的
而如果出现:
RENAME(1) Perl Programmers Reference Guide RENAME(1) 则是Perl版本的了
C语言版本格式:rename 原字符串 新字符串 文件名
Perl语言版本格式:rename 's/原字符串/新字符串/' 文件名
rename支持正则表达式
例子:
字母的替换 rename "s/AA/aa/" * // 把文件名中的AA替换成aa
修改文件的后缀 rename "s//.html//.php/" * // 把.html 后缀的改成 .php后缀
批量添加文件后缀 rename "s/$//.txt/" * // 把所有的文件名都以txt结尾
批量删除文件名 rename "s//.txt//" * // 把所有以.txt结尾的文件名的.txt删掉
网站上传的500多张图片后发现需要区分缩略图,大图,中图。但是之前上传的没有区分,无奈之下只能省事的办法了,总不能一张一张的修改吧。写一段bash,使用mv命令达到批量重命名的目的。例子:我现在要把aaaaaaaaaaaaa.jpg重命名为aaaaaaaaaaaaa_MED.jpg请使用如下命令:for i in *.jpgdo mv "$i" "${i%.jpg}_MED.jpg" done同理aaaaaaaaaaaaa_MED.jpg重命名为aaaaaaaaaaaaa_LRG.jpg的方法:for i in *.jpgdo mv "$i" "${i%_MED.jpg}_LRG.jpg" donelinux下重命名文件或文件夹、批量实现重命名文件方法一、
linux下重命名文件或文件夹的命令mv既可以重命名,又可以移动文件或文件夹.
例子:将目录A重命名为B
mv A B
例子:将/a目录移动到/b下,并重命名为c
mv /a /b/c
其实在文本模式中要重命名文件或目录的话也是很简单的,我们只需要使用mv命令就可以了,比如说我们要将一个名为abc的文件重命名为1234就可以这样来写:mv abc 1234,但是要注意的是,如果当前目录下也有个1234的文件的话,我们的这个文件是会将它覆盖的。
二、
Linux批量重命名文件会涉及到改变一个字母、改变一些相连字母、改变某些位置的字母、在最前面加上某些字母、或者改变字母的大小写。完成这里五个方法基本上就会解决了Linux批量重
命名的工作。
1、我想把它们的名字的第一个1个字母变为"q",其它的不变
[root@pps mailqueue]# for i in `ls`do mv -f $i `echo $i | sed 's/^./q/'`done
或者写个脚本,显得更加清晰:
for file in `ls`
do
newfile =`echo $i | sed 's/^./q/'`
mv $file $newfile
done
2、修改前面5个字母为zhaozh
[root@pps mailqueue]# for i in `ls`do mv -f $i `echo $i | sed 's/^...../zhaozh/'`done
3、修改后面5个字母为snail
[root@pps mailqueue]# for i in `ls`do mv -f $i `echo $i | sed 's/.....$/snail/'`done
4、在前面添加 _hoho_
[root@pps mailqueue]# for i in `ls`do mv -f $i `echo "_hoho_"$i`done
5、所有的小写字母变大写字母
[root@pps mailqueue]# for i in `ls`do mv -f $i `echo $i | tr a-z A-Z`done
上面是五中完成有关Linux批量重命名方法。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)