架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 3644|回复: 1

[linux] 【转】Linux 批量重命名文件的方法

[复制链接]
发表于 2022-2-9 15:57:49 | 显示全部楼层 |阅读模式
1.使用rename命令

SYNOPSIS
rename from to file...
from 表示需要替换或者处理的字符,比如文件的扩展名,文件名.

to 表示对from处理之后的结果。

file 表示目标文件。


[root@liujianfan tmp]# ls
hello_10_2016-03-17.log  hello_4_2016-03-17.log  hello_8_2016-03-17.log
hello_1_2016-03-17.log   hello_5_2016-03-17.log  hello_9_2016-03-17.log
hello_2_2016-03-17.log   hello_6_2016-03-17.log
hello_3_2016-03-17.log   hello_7_2016-03-17.log
使用rename将.log改为.jpg

[root@liujianfan tmp]# rename ".log" ".jpg" *
[root@liujianfan tmp]# ls
hello_10_2016-03-17.jpg  hello_4_2016-03-17.jpg  hello_8_2016-03-17.jpg
hello_1_2016-03-17.jpg   hello_5_2016-03-17.jpg  hello_9_2016-03-17.jpg
hello_2_2016-03-17.jpg   hello_6_2016-03-17.jpg
hello_3_2016-03-17.jpg   hello_7_2016-03-17.jpg
2.使用sed:

[root@liujianfan tmp]# ls|sed -nr "s#(^.*[0-9].)(.*)#mv & \1log#gp"
mv hello_10_2016-03-17.jpg hello_10_2016-03-17.log
mv hello_1_2016-03-17.jpg hello_1_2016-03-17.log
mv hello_2_2016-03-17.jpg hello_2_2016-03-17.log
mv hello_3_2016-03-17.jpg hello_3_2016-03-17.log
mv hello_4_2016-03-17.jpg hello_4_2016-03-17.log
mv hello_5_2016-03-17.jpg hello_5_2016-03-17.log
mv hello_6_2016-03-17.jpg hello_6_2016-03-17.log
mv hello_7_2016-03-17.jpg hello_7_2016-03-17.log
mv hello_8_2016-03-17.jpg hello_8_2016-03-17.log
mv hello_9_2016-03-17.jpg hello_9_2016-03-17.log
最后通过管道给bash处理:

[root@liujianfan tmp]# ls|sed -nr "s#(^.*[0-9].)(.*)#mv & \1log#gp"|bash
[root@liujianfan tmp]# ls
hello_10_2016-03-17.log  hello_4_2016-03-17.log  hello_8_2016-03-17.log
hello_1_2016-03-17.log   hello_5_2016-03-17.log  hello_9_2016-03-17.log
hello_2_2016-03-17.log   hello_6_2016-03-17.log
hello_3_2016-03-17.log   hello_7_2016-03-17.log
3.使用for再配合替换字符串

[root@liujianfan tmp]# vim rename.sh
#!/bin/bash
#This script is use to rename files
for name in `ls *.log`;
do
echo "mv $name ${name/.log/.txt}"
done
最后通过bash:

[root@liujianfan tmp]# ./rename.sh |bash
[root@liujianfan tmp]# ls
hello_10_2016-03-17.txt  hello_4_2016-03-17.txt  hello_8_2016-03-17.txt
hello_1_2016-03-17.txt   hello_5_2016-03-17.txt  hello_9_2016-03-17.txt
hello_2_2016-03-17.txt   hello_6_2016-03-17.txt  rename.sh
hello_3_2016-03-17.txt   hello_7_2016-03-17.txt
原文:https://www.cnblogs.com/hzdwwzz/p/9903874.html




上一篇:Java Maven 项目引用本地 jar 包三种方式
下一篇:Java JDBC 之 rewriteBatchedStatements、allowPublicKeyRetrieval...
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2022-2-13 16:32:38 | 显示全部楼层
学习学习
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2024-3-29 22:48

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表