方法一:Rename函数
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删掉
方法二:mv函数
在文件夹shell下创建文件10个文件
touch tmp_{1..10}.txt
找到含有“_“”的文件夹。
find ./ -name "*_*"
读取id, 用mv改名,$为自己理解为赋值后的id,格式为while; do; done
find ./ -name "*_*" | while read id; do mv $id ${id/_/-}; done
作者:LeoinUSA
链接:https://www.jianshu.com/p/bdd27936416e
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦