Linux Shell大师进化论-实战演练之批量重命名

目标:批量重命名

重命名多个文件是我们经常会碰到的一项工作。举个简单的例子,当你把照片从数码相机传

输到你的计算机之后,你可能会删除其中某些不如意的部分,这会使图像文件的编 变得不再连

续。于是你会想使用特定的前缀和连续的数字对它们进行重命名。我们当然可以借助第三方软件执行这类重命名操作,但是我们也可以使用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进行处理,非常感谢!

上一篇 2019年2月10日
下一篇 2019年2月10日

相关推荐