Linux 对文件名进行批量修改

linux 专栏收录该内容
226 篇文章 1 订阅

背景:

         之前运行的系统涉及图片上传,其中图片会被处理,包含一张缩略图。与原图的区别是 small_图片名.扩展名【jpg,jpeg,png......】

问题:

         由于程序后台原因,生成缩略图是名称不小心写错了。把 small 写成了 samll 。后期已改正过来。但是Linux 图片服务器缩略图部分名称还是 samll 开头。总计2101 张

-sh-4.1$find /mnt/wit/pic_service/images/goods_pic_dir -name 'samll*' -type f | xargs-I{} ls {} | wc -l

2101

         造成结果就是有部分图片不能访问。

处理:

         对Linux 图片服务器的缩略图图片进行重命名或者重新复制一张正确命名的图片。

 

过程:

         由于实际环境已经处理成功,所以自己模拟了一个环境。过程都是一样的

1、数据模拟

[oldboy@mode-6work]$ pwd

/home/oldboy/work

[oldboy@mode-6work]$ ll

total12

-rwxrw-r--1 oldboy oldboy  171 Dec  2 15:32 file-rename.sh

drwxrwxr-x2 oldboy oldboy 4096 Dec  2 16:14 pic

drwxrwxr-x2 oldboy oldboy 4096 Dec  2 16:13 pic2

[oldboy@mode-6work]$ ll pic

total0

-rw-rw-r--1 oldboy oldboy 0 Dec  2 14:411441078562454.png

-rw-rw-r--1 oldboy oldboy 0 Dec  2 14:411441078562455.png

-rw-rw-r--1 oldboy oldboy 0 Dec  2 14:411441078562456.png

-rw-rw-r--1 oldboy oldboy 0 Dec  2 14:37 samll_1441078562455.png#需要修改

-rw-rw-r--1 oldboy oldboy 0 Dec  2 14:37 samll_1441078562456.png#需要修改

-rw-rw-r--1 oldboy oldboy 0 Dec  2 14:37 small_1441078562454.png#正常数据

[oldboy@mode-6work]$ ll pic2

total0

-rw-rw-r--1 oldboy oldboy 0 Dec  2 16:131441078562450.png

-rw-rw-r--1 oldboy oldboy 0 Dec  2 16:131441078562451.png

-rw-rw-r--1 oldboy oldboy 0 Dec  2 16:131441078562452.png

-rw-rw-r--1 oldboy oldboy 0 Dec  2 16:13 samll_1441078562450.png#需要修改

-rw-rw-r--1 oldboy oldboy 0 Dec  2 16:13 samll_1441078562451.png#需要修改

-rw-rw-r--1 oldboy oldboy 0 Dec  2 16:13 samll_1441078562452.png#需要修改

 

 

 

2、查找需要修改的数据

         注意查找的目录路径非常重要,做到:1、尽量不查找多余的目录;2、所有要查找的目录必须查完。

         这样才能做到数据精准

[oldboy@mode-6work]$ ll

total 12

-rwxrw-r--1 oldboy oldboy  171 Dec  2 15:32 file-rename.sh

drwxrwxr-x2 oldboy oldboy 4096 Dec  2 16:14 pic

drwxrwxr-x2 oldboy oldboy 4096 Dec  2 16:13 pic2

[oldboy@mode-6work]$ find ./-name 'samll*' -type f

    #其中./ 等价于  /home/oldboy/work/

./pic/samll_1441078562455.png

./pic/samll_1441078562456.png

./pic2/samll_1441078562450.png

./pic2/samll_1441078562452.png

./pic2/samll_1441078562451.png

 

3、shell 脚本

[oldboy@mode-6work]$ vim file-rename.sh

#!/bin/sh

for file in `find /home/oldboy/work/ -name 'samll*' -type f | xargs -I{} ls {}`

do

# 特别注意查找的路径,请根据实际情况进行修改

#  echo $file  # 注释  用于查看 查找数据是否正确

  /bin/cp -a $file `echo $file | sed 's#samll#small#g'`   # 也可使用 /bin/mv

done

 

         修改文件权限,这样才能执行shell脚本

[oldboy@mode-6work]$ ll

total12

-rw-rw-r-- 1 oldboyoldboy  168 Dec  2 16:26 file-rename.sh

drwxrwxr-x2 oldboy oldboy 4096 Dec  2 16:14 pic

drwxrwxr-x2 oldboy oldboy 4096 Dec  2 16:13 pic2

[oldboy@mode-6work]$ chmod 764 file-rename.sh

[oldboy@mode-6work]$ ll

total12

-rwxrw-r-- 1 oldboy oldboy  168 Dec  2 16:26 file-rename.sh

drwxrwxr-x2 oldboy oldboy 4096 Dec  2 16:14 pic

drwxrwxr-x2 oldboy oldboy 4096 Dec  2 16:13 pic2

 

4、结果

[oldboy@mode-6work]$ ./file-rename.sh  #脚本执行

[oldboy@mode-6work]$ ll pic

total0

-rw-rw-r--1 oldboy oldboy 0 Dec  2 14:411441078562454.png

-rw-rw-r--1 oldboy oldboy 0 Dec  2 14:411441078562455.png

-rw-rw-r--1 oldboy oldboy 0 Dec  2 14:411441078562456.png

-rw-rw-r--1 oldboy oldboy 0 Dec  2 14:37samll_1441078562455.png

-rw-rw-r--1 oldboy oldboy 0 Dec  2 14:37samll_1441078562456.png

-rw-rw-r--1 oldboy oldboy 0 Dec  2 14:37small_1441078562454.png#之前就正确的

-rw-rw-r-- 1 oldboy oldboy 0 Dec  2 14:37 small_1441078562455.png

-rw-rw-r-- 1 oldboy oldboy 0 Dec  2 14:37 small_1441078562456.png

[oldboy@mode-6work]$ ll pic2

total0

-rw-rw-r--1 oldboy oldboy 0 Dec  2 16:131441078562450.png

-rw-rw-r--1 oldboy oldboy 0 Dec  2 16:131441078562451.png

-rw-rw-r--1 oldboy oldboy 0 Dec  2 16:13 1441078562452.png

-rw-rw-r--1 oldboy oldboy 0 Dec  2 16:13samll_1441078562450.png

-rw-rw-r--1 oldboy oldboy 0 Dec  2 16:13samll_1441078562451.png

-rw-rw-r--1 oldboy oldboy 0 Dec  2 16:13samll_1441078562452.png

-rw-rw-r-- 1 oldboy oldboy 0 Dec  2 16:13 small_1441078562450.png

-rw-rw-r-- 1 oldboy oldboy 0 Dec  2 16:13 small_1441078562451.png

-rw-rw-r-- 1 oldboy oldboy 0 Dec  2 16:13 small_1441078562452.png

 

 

结果就是这样。

Linux 对文件名进行批量修改  成功



  • 1
    点赞
  • 0
    评论
  • 0
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

参与评论 您还未登录,请先 登录 后发表或查看评论
©️2022 CSDN 皮肤主题:编程工作室 设计师:CSDN官方博客 返回首页

打赏作者

LightZhang666

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值