美文网首页
2.13 批量重命名和移动

2.13 批量重命名和移动

作者: 拙言_Coder | 来源:发表于2019-03-15 08:41 被阅读0次

    《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' {} \;
    

    相关文章

      网友评论

          本文标题:2.13 批量重命名和移动

          本文链接:https://www.haomeiwen.com/subject/bymkmqtx.html