2.13 批量重命名和移动

《Linux Shell 脚本攻略(第 2 版)》读书笔记

用特定的格式重命名当前目录下的图像文件,最简单的方法是使用下面的脚本:

#!/bin/bash
#文件名:rename.sh
#用途:重命名 .jpg 和 .png 文件

count=1
for img in $(find . -iname '*.png' -o -iname '*.jpg' -type f -maxdepth 1); do
  new=image-$count.${img##*.}

  echo "Renaming $img to $new"
  mv "$img" "$new"
  let count++
done

输出如下:

$ bash rename.sh
Renaming ./hack.jpg to image-1.jpg
Renaming ./new.jpg to image-2.jpg
Renaming ./next.png to image-3.png

其他执行重命名操作的方法

  • *.JPG 更名为 *.jpg
rename *.JPG *.jpg
  • 将文件名中的空格替换成字符“_”,包括文件夹
rename 's/ /_/g' *
# 's/ /_/g' 用于替换文件名
# * 用于匹配目标文件的通配符
  • 转换文件名的大小写
rename 'y/A-Z/a-z/' *  #大写转小写
rename 'y/a-z/A-Z/' *  #小写转大写
  • 将所有的 .mp3 文件移入给定的目录
find . -type f -name "*.mp3" -exec mv {} target_dir \;
  • 将所有文件名中的空格替换为字符“_”
find . -type f -exec rename 's/ /_/g' {} \;
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 4,657评论 0 5
  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 6,260评论 0 10
  • 个人学习批处理的初衷来源于实际工作;在某个迭代版本有个BS(安卓手游模拟器)大需求,从而在测试过程中就重复涉及到...
    Luckykailiu阅读 4,950评论 0 11
  • 现在提到比特币不能说家喻户晓,但被世人认知的程度确实较之十年前要高的多。其实不要说十年前,五年前又如何?在那个时候...
    币圈实操指南阅读 475评论 0 0
  • 青柠拿出钥匙打开家门后做的第一件事就是换下脚下的高跟鞋。这双鞋是一周前买的,然而今天却是第一次穿,下了地铁往家走时...
    酒墨阅读 517评论 0 2

友情链接更多精彩内容