前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >shell脚本专题(06):批量更名

shell脚本专题(06):批量更名

作者头像
loong576
发布2021-08-06 09:55:45
6460
发布2021-08-06 09:55:45
举报
文章被收录于专栏:运维ABC运维ABC

一、专题背景

最近使用了个自动化平台(详见 自动化运维平台Spug测试)进行每周的变更,效果很不错,平台将大量重复繁琐的操作通过脚本分发方式标准化自动化了,平台核心是下发到各个服务器的shell脚本,感觉有必要对shell脚本做个总结,所以有了写本专题的想法。本专题将结合运维实际介绍shell脚本的各项用法,预计10篇左右,将包括系统巡检、监控、ftp上传下载、数据库查询、日志清理、时钟同步、定时任务等,里面会涉及shell常用语法、注意事项、调试排错等。

二、本文前言

本文是该专题的第六篇。

文章主要介绍如何在批量查找文件、解压文件和重命名文件。

需求:在某路径下有多个目录,每个目录里有多个压缩文件,现需要对文件解压缩和重命名。

三、环境说明

主机名

操作系统版本

ip

备注

shell

Suse 11 SP3

172.xx.xx.xx

生产某服务器

四、脚本测试

1.文件列表

watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=
watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=

2.查找所有文件

代码语言:javascript
复制
find ./* -name *XD*
watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=
watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=

可以看到1倒21目录都有XD开头的文件

3.批量解压

代码语言:javascript
复制
for file in $(find ./* -name *XD*);do gunzip $file;done
watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=
watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=

使用gunzip命令 将所有的压缩文件以循环方式批量解压

4.批量重名令

脚本:

代码语言:javascript
复制
root@shell:~>more change3.sh
#!/bin/bash
#IFS=$'\n'
for file in `find ./* -name *XD*`
do
        newfile=`echo $file |  sed  's/210726/210802/g'`
        echo $newfile
        mv $file $newfile
done

执行批量改名脚本:

watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=
watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=

将文件名含有210726日期的改成210802

五、本文总结

本文的查找、解压和改名脚本都很基础,日常运维会经常使用到。本文只是列举了一个查找XD开头文件的例子,生产中还需要查找其他文件并解压、删除和改名,刚接到这个需求内心是崩溃的,不过shell脚本能很方便的帮我们实现。

平时养成积累各种shell脚本实例的习惯是一件很有意义的事,厚积薄发,后面会有大用。

本文所有脚本和安装包文件已上传github: shell-scripts-05

更多请点击: shell专题

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-08-05 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、专题背景
  • 二、本文前言
  • 三、环境说明
  • 四、脚本测试
    • 1.文件列表
      • 2.查找所有文件
        • 3.批量解压
          • 4.批量重名令
          • 五、本文总结
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档