linux批量修改目录或者文件名

linux批量修改目录或者文件名,第1张

查看/home下所有子目录的ok.txt并修改成OK.txt

linux 批量重名名

Linux Shell 批量重命名的方法总览

1、删除所有的 .bak 后缀:

2、把 .jpe 文件后缀修改为 .jpg:

3、把所有文件的文件名改为小写:

4、将 abcd.jpg 重命名为 abcd_efg.jpg:

5、将 abcd_efg.jpg 重命名为 abcd_lmn.jpg:

6、把文件名中所有小写字母改为大写字母:

7、把格式 *_?.jpg 的文件改为 *_0?.jpg:

8、把文件名的前三个字母变为 vzomik:

9、把文件名的后四个字母变为 vzomik:

rename

相关命令:mv

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

参数

-n *** 作预览,在不更改文件名称情况下,显示执行后的结果

-f强制执行

【常用通配符说明】

?表示一个任意字符

*表示一个或一串任意字符

-------------------------------------------------

【常用正则表达式符号说明】

^匹配输入的开始位置

$匹配输入的结尾

.匹配除换行符外的任意字符

+匹配前一个字符一次或多次 例如,"zo+"可以匹配"zoo",但不匹配"z"

[a-z]表示某个范围内的字符,例如,"[a-z]"匹配"a"与"z"之间的任何一个小写字母字符。

[^m-z]否定的字符区间。与不在指定区间内的字符匹配。

最后更新 2013-05-17 10:41:4

[root@localhost www]# rename 's/$/\.^abc/' /home/www/def #给www目录下的abc 更改为def 仅共参考。

网站上传的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


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

原文地址: https://outofmemory.cn/yw/8325330.html

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

发表评论

登录后才能评论

评论列表(0条)

保存