ubuntu16.04(其他版本也可)批量修改图片名---shell编程
2024-10-19 21:40:19
在windows系统中有很多好用的图片排序软件,可以批量的进行图片排序。然而在ubuntu中,图片排序只能自己写一个shell脚本,编写shell代码。下面是具体的操作步骤。
(1)、新建一个rename.sh文件(这个名字可以随便起但是后缀必须是.sh,而且一般放在与图片集所在的目录下),之后在文件的内部写入如下代码(代码中已经标注每条代码的含义):
#!test-folder/bash 告诉这个文件是shell脚本
#mkdir images(你可以像这样的建立一个文件夹 之后用cp指令将修改后的图片放到这个文件夹中)
#输出本文件的说明
echo "this script is to rename picture" #设置图片开始的顺序变量 (我想让图片的名字从70884开始排序)
i=70884
#names是一个准备更改的图片集的索引(可以设置成任意值),./name49/* 表示names49文件夹下的所有图片(可以改为自己的图片集的位置)
for names in ./names49/*
do
#输出图片名字names是一个变量 $names 表示引用这个变量的内容
echo $names
#变量赋值,news是一个新的变量
news=$i
echo "$news"
#更改(如果将mv 变为cp的话就是将更名字后的图片复制到指定的目录下)当前的图片 到指定的目录下,并且命名为自己想要的名字$news.jpg
mv $names ./names49/$news.jpg
let i=i+1
done
(2)、整体代码以及执行命令如下(方便查看对照更改):
整体代码:
#!test-folder/bash
echo "this script is to rename picture"
i=70884
for names in ./names49/*
do
echo $names
news=$i
echo "$news"
mv $names ./names49/$news.jpg
let i=i+1
done
在当前目录中打开终端,执行命令:
sudo sh ./rename.sh
注意:在运行该脚本时可能会提示 let:not found 因为上面代码中出现了let这个指令。而sh指令默认是dash 而dash不支持let命令,所以要显示的用bash 这个命令
更改为:
sudo bash rename.sh
如果仍然想要用sudo sh ./rename.sh 那么必须要修改/bin/sh 指向bash.可以执行下面的命令:
sudo dpkg-reconfigure dash
会出现一个对话框:
从图片上的文字可以看出,使用dash可以整体提升系统的性能,所以最好不修改。如果你修改后,当然也可以用与上面同样的命令修改回来。(对于部分关键字如 let,bash支持,而sh和dash并不支持,对于部分关键字则选择使用bash。)
最新文章
- [转][iOS]NSHash​Table &; NSMap​Table
- ADB
- Keil软件常见的警告和错误含义。——Arvin
- 268. Missing Number -- 找出0-n中缺失的一个数
- [POJ2761] Feed the dogs (Treap)
- SSH新学
- Redis复制原理
- HTTPS原理
- Java的wait(), notify()和notifyAll()使用小结
- c# Winforms WebBrowser - Clear all cookies
- Javascript Utils.js
- HTTP POST GET 区别
- LeetCode_Jump Game II
- (中等) UESTC 360 Another LCIS ,线段树+区间更新。
- 看雪.TSRC 2017CTF秋季赛第三题
- Kth MIN-MAX 反演
- go 语言学习笔记(一)
- JAVA微信支付~
- codevs2822
- 如何用 async 控制流程
热门文章
- 设置本地上网IP
- phpcms2008安装时mysql出错
- Spring Boot2 系列教程(三十一)Spring Boot 构建 RESTful 风格应用
- [转载] Windows系统批处理延迟方法
- 开启我的python之路,第一节,git版本管理工具
- 编写SQL查询范围分区类型,MAX分区范围
- DevOps is Hard、DevSecOps is Even Harder . --- Enterprise Holdings
- 《【面试突击】— Redis篇》-- Redis哨兵原理及持久化机制
- 带限制的广搜 codeforces
- Vs中提交了代码但是不想推送到Git中