2.13 批量重命名和移动

2019-03-15  本文已影响0人  拙言_Coder

《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

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

rename *.JPG *.jpg
rename 's/ /_/g' *
# 's/ /_/g' 用于替换文件名
# * 用于匹配目标文件的通配符
rename 'y/A-Z/a-z/' *  #大写转小写
rename 'y/a-z/A-Z/' *  #小写转大写
find . -type f -name "*.mp3" -exec mv {} target_dir \;
find . -type f -exec rename 's/ /_/g' {} \;
上一篇下一篇

猜你喜欢

热点阅读