目标:批量重命名
重命名多个文件是我们经常会碰到的一项工作。举个简单的例子,当你把照片从数码相机传
输到你的计算机之后,你可能会删除其中某些不如意的部分,这会使图像文件的编 变得不再连
续。于是你会想使用特定的前缀和连续的数字对它们进行重命名。我们当然可以借助第三方软件执行这类重命名操作,但是我们也可以使用Bash命令在短短几秒钟之内完成同样的工作。
另一件经常要做的工作是,将文件名中包含某个特定部分(例如相同的前缀)或者具有特定
类型的所有文件移动到指定的文件夹中。下面让我们看看如何用Linux脚本来执行这些操作。
预备知识
for xx in xx循环使用
if xx then 语句
Shell扩展名匹配
命令执行出错返回值
Linux脚本代码:
#!/bin/bash#文件名 rename. sh#用途:重命名jpg和png文件count=1for img in *.jpg *.pngdo new=image-$count.${img##*.}mv "$img" "$new" 2> /dev/nullif [ $? -eq 0 ]then echo "Renaming $img to $new"let count++fidone
运行结果:
运行前文件名:
运行前文件名
运行后文件名:
运行后文件名
重点语法:
for img in *.jpg *.png —>通配符匹配文件扩展名查询文件
${img##*.}—>获取文件扩展名
[ $? -eq 0 ]—->运行命令是否执行成功
mv “$img” “$new” 2> /dev/null —>命令标准错误重定向
以上实战脚本你掌握了吗,欢迎@关注交流!
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!