首先我的资源文件名称如下:
Manual Book Vandroid S5i(1219)_页面_01.jpg
Manual Book Vandroid S5i(1219)_页面_02.jpg
Manual Book Vandroid S5i(1219)_页面_03.jpg
。。。
其中这种文件有很多。
目标格式是:Manual_01.jpg,然后在网上找了相关的文档,发现有这方面的东西,经过最终的尝试,linux下的bash脚本写成如下:
for file in Manual*;do mv "$file" "${file/ Book\ Vandroid\ S5i(1219)_页面 /}"; done
可以成功的运行。
有几个注意点:
A.如果字符串中有空格,请用‘\ ’代替(不包含单引号),
下面来解析一下这个脚本。
for file in Manual*;-------------for表示一个循环,例如java或C语言中的for关键字,’Manual*‘表示文件夹下文件名称以字符‘Manual’开头的所有文件,循环给file 变量赋值。
mv----表示一个命令,详细信息自己$man -mv;
“$file” 表示取变量file所指向的文件,${file/oldstring/newstring},oldstring表示将要替换的字符串,newstring表示用了替换的字符串,这里我们为空(无字符)。
最后其它网站有#%的使用,但现在还未明白,如果你知道,可以回复一下,先谢谢!
2013.12.31
现在还遇到一个问题,就是文件的名称都是数字,而且有规律的异常递增,比如:21.jpg,22.jpg,23.jpg。。。35.jpg
当然我们需要的目标文件是1.jpg,2.jpg,3.jpg.....15.jpg
所以我们将这些名称减去20就可以了,但是、但是,这个名称是一个字符串,所以不能这么直接减,得去将字符串转换为数字。
嗯,以上是一个思路。这个工作量应该非常复杂,等你吧这个东西实现将是在2014年的夏天。但是如果我们只命名一个文件的命令是:
mv 21.jpg 1.jpg
那么我们能否通过其他的方法批量生产这种有规律的命令呢?有!通过excel来完成。
mv 46 | .jpg 1.jpg | mv 46.jpg 1.jpg |
mv 47 | .jpg 2.jpg | mv 47.jpg 2.jpg |
mv 48 | .jpg 3.jpg | mv 48.jpg 3.jpg |
mv 49 | .jpg 4.jpg | mv 49.jpg 4.jpg |
mv 50 | .jpg 5.jpg | mv 50.jpg 5.jpg |
mv 51 | .jpg 6.jpg | mv 51.jpg 6.jpg |
mv 52 | .jpg 7.jpg | mv 52.jpg 7.jpg |
mv 53 | .jpg 8.jpg | mv 53.jpg 8.jpg |
mv 54 | .jpg 9.jpg | mv 54.jpg 9.jpg |
mv 55 | .jpg 10.jpg | mv 55.jpg 10.jpg |
mv 56 | .jpg 11.jpg | mv 56.jpg 11.jpg |
mv 57 | .jpg 12.jpg | mv 57.jpg 12.jpg |
mv 58 | .jpg 13.jpg | mv 58.jpg 13.jpg |
mv 59 | .jpg 14.jpg | mv 59.jpg 14.jpg |
mv 60 | .jpg 15.jpg | mv 60.jpg 15.jpg |
mv 61 | .jpg 16.jpg | mv 61.jpg 16.jpg |
mv 62 | g |
再来给大家讲解一下如何生产这个列表:
第1列,输入mv 46然后下拉一列。
第2列,输入.jpg 1.jpg然后下拉,后面的数字都会自动增加的。
第三列呢,是将前两列合并起来 =""&B89&""&C89&""
最后复制第三列,在bash窗口黏贴就可以了。
干完这件事,真有成绩感,linux还真好,能完成很多重复的工作。
相关推荐
### Shell脚本批量重命名文件后缀的3种实现 #### 概述 在日常的文件管理和处理工作中,经常会遇到需要批量更改文件名或后缀的情况。例如,将一批`.sql`文件统一转换为`.txt`格式。Shell脚本提供了多种方式来实现这...
③ 勾选文件后右键批量重命名 ④ 右边的选择框中选择前缀数字添加 ⑤ start代表开始数,脚本会自动补0 if(start) // 补0的好处在于,文件夹正序倒叙排列时,会按照最前方数字进行排序,不会发生错乱 ⑥ tip代表加在...
例子: MyClassA ZZMyClassAMyClassB ZZMyClassBMyClassC ZZMyClassC##Step #2:将两个文件复制并粘贴到项目目录中,然后运行 shell 脚本。 笔记: 此脚本将更新对在项目文件、XIB 文件、故事板文件、.h 和 .m ...
主要涉及的操作包括使用shell脚本批量重命名文件以及更新配置文件中的主机名信息。 #### 详细步骤与说明 ##### 1. 使用Shell脚本批量重命名文件 在SAP环境中,文件名中包含物理主机名可能会导致跨环境部署时的问题...
3. 脚本语言实现:程序员还可以使用各种编程语言(如Python、JavaScript、Perl等)编写脚本来实现批量重命名。通过遍历目录,读取文件列表,然后按照指定规则修改文件名,最后更新文件系统中的文件名。 批量重命名...
`rename`命令专门用于批量重命名文件。根据`man rename`文档,该命令支持的基本语法如下: ``` rename [option] from to file ``` 其中,`from`和`to`分别表示替换前后的字符串,`file`则表示待重命名的文件。需要...
Shell脚本是Linux操作系统中一种强大的自动化工具,它允许用户编写一系列命令,以实现批量处理任务或自动化重复性工作。在Linux测试过程中,编写Shell脚本是十分常见的,脚本的名称可以自由设定,无需特定的后缀名,...
Shell脚本则是利用Shell语言编写的程序,能够批量执行一系列命令,提高工作效率。 2. **常见Shell类型**:Linux中有多种Shell,包括Bash(Bourne-Again SHell)、Sh、Csh、Ksh和Zsh等。其中,Bash是最广泛使用的...
在处理大量文件时,有时我们需要批量重命名文件,以满足特定的命名规范或者整理文件结构。"vimv"就是这样一个工具,它允许用户在Vim的环境中批量操作文件名,从而实现高效的重命名。 **vimv** 是一个基于Vim的批量...
在Linux中,我们可以使用`rename`命令或者结合`for`循环和`mv`命令来批量重命名文件。例如,通过读取文件列表,我们可以实现按序号添加前缀、更改文件扩展名或者统一文件名格式。这对于整理大量文件、迁移数据或者...
批量重命名脚本
命令行操作是Shell脚本的核心,比如`cd`改变目录,`ls`列出文件,`cp`复制文件,`mv`移动或重命名文件,以及`rm`删除文件。这些命令可以通过组合在脚本中执行,实现批量操作。 条件语句(`if`、`elif`、`else`)和...
接着提供了多个实用的 Shell 脚本实践案例,如文件批量重命名、自动备份文件、批量检测网络状态、定时清理日志文件和简单的用户管理脚本等。最后介绍了 Shell 脚本的优化与调试技巧以及推荐的学习资源。 适合人群:...
- **日常任务**:文件处理(如批量重命名)、文本分析等。 #### 3. Shell脚本的优点 - **易学易用**:语法简单,容易上手。 - **高度可定制化**:可以根据需求编写复杂的逻辑。 - **跨平台**:大多数Shell脚本在...
本段文字介绍了一个使用VBScript (VBS) 语言编写的脚本程序,旨在批量重命名文件,并在进行文件重命名操作之前对原有文件进行备份。以下是对该段文字中的关键知识点的详细解读。 ### 知识点一:VBScript的作用与...
- **批量文件操作**:自动重命名、移动大量文件,节省人工操作时间。 总之,Shell脚本在Linux环境下的应用极为广泛,无论是系统管理员还是开发者,掌握Shell脚本都能显著提升工作效率和系统维护能力。
通常,批量重命名可能涉及到遍历指定目录下的所有图片文件,然后根据某种规则(比如添加序列号、日期等)生成新的文件名,并使用`os.rename()`函数进行更名。 `batch_label.py`则涉及到了图片打标签的功能。在机器...
然后,我们需要一个方法来批量重命名这些文件。在Linux中,`rename`命令常用于此目的。但需要注意的是,不同Linux发行版中的`rename`命令可能有不同的语法。一种通用的方法是使用`mv`命令,它允许我们移动或重命名...