举例如下:批量创建10个随机字符串的文件,要求每个文件名后面添加_aaa,后缀名不变;
[root@localhost goodboy]# ls
adddbbdedf.html baacjaiija.html bhcfaabcfh.html dgjdcdfbca.html efejadfdji.html
agdhcdeaje.html bgffbffjcg.html cbbiebdafh.html diadebbhag.html jcajafgejf.html
脚本1:
使用sed替换,正则表达式第1个()括号里面代表文件名即1;中间. 使用进行脱意,代表分隔符;
第2个括号里面代表后缀html内容即2;
使用此方法需要在替换中添加.符号;
更改后的效果如下:
脚本2:
解释说明:
同样使用sed替换,正则表达式,与上面的区别在于第2个括号里面的内容,代表.html 分隔符和后缀名为一体,替换内容的话不需要再单独加.点;.分隔符同样需要使用进行脱意;
可以使用sed -r参数,看起来就清爽很多,不需要脱意;
举例如下:批量改名,删除文件名中多余字符
目录下文件名为如下,要求去掉_finished。
stu__1_finished.jpg
stu__2_finished.jpg
stu__3_finished.jpg
stu__4_finished.jpg
stu__5_finished.jpg
可以实现的方法有很多种:
方法一:for循环结合sed替换

方法二:ls结合awk,输出交给bash执行
实际执行的命令如下,以_finished作为分隔符,mv及变量 需要加双引号
方法三:rename改名(rename 需要安装)
方法四:for循环加变量部分截取
不使用echo也可以实现
更改后结果如下:
stu__1.jpg
stu__2.jpg
stu__3.jpg
stu__4.jpg
stu__5.jpg

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/146276.html