2026年批量处理文件名中删除几个字(批量文件删除_后面的文件名)

批量处理文件名中删除几个字(批量文件删除_后面的文件名)举例如下 批量创建 10 个随机字符串的文件 要求每个文件名后面添加 aaa 后缀名不变 root localhost goodboy ls adddbbdedf html nbsp baacjaiija html nbsp bhcfaabcfh html nbsp dgjdcdfbca html nbsp efejadfdji html agdhcdeaje html nbsp bgffbffjcg html nbsp cbbiebdafh html nbsp



举例如下:批量创建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也可以实现

  

更改后结果如下:

今天的文章 2026年批量处理文件名中删除几个字(批量文件删除_后面的文件名)分享到此就结束了,感谢您的阅读。
编程小号
上一篇 2026-01-20 23:17
下一篇 2025-01-26 14:51

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/34250.html