Linux下批量修改文件名

Linux下批量修改文件名,第1张

Linux下修改文件名有mv和rename。其中mv命令只能对单个文件重命名,这是mv命令和rename命令的在重命名方面的根本区别。

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" done

linux下重命名文件或文件夹、批量实现重命名文件方法

一、

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批量重命名方法。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7440834.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-05
下一篇2023-04-05

发表评论

登录后才能评论

评论列表(0条)

    保存