bash – 根据名称中的符号重命名文件
发布时间:2020-12-16 01:47:21 所属栏目:安全 来源:网络整理
导读:我有很多这样的文件(图像)(文件名只由数字组成): 123456.jpg369258.jpg987123.jpg... 我需要在其他文件夹中复制每个文件夹(让我们将其命名为输出)并根据其名称中的数字重命名每个文件,如下所示(在伪代码中): outputFileName = String(filename[0]) + Strin
我有很多这样的文件(图像)(文件名只由数字组成):
123456.jpg 369258.jpg 987123.jpg ... 我需要在其他文件夹中复制每个文件夹(让我们将其命名为输出)并根据其名称中的数字重命名每个文件,如下所示(在伪代码中): outputFileName = String(filename[0]) + String(filename[1]) + String(filename[2]+filename[3]) + ".jpg" 正如您所看到的,重命名涉及在文件名中获取某个符号,有时在文件名中获得一些符号的总和. 我需要制作一个脚本来批量重命名我在基于类似算法放置脚本的文件夹中的所有* .jpg,并在我前面提到的输出文件夹中输出重命名的. 这个脚本应该可以从macos终端和windows通过cygwin shell工作. 解决方法
我假设主要问题是:如何获取bash变量的特定字符以及如何在bash中执行添加.
>要从bash变量获取char,可以使用以下格式:${var:START_INDEX:LENGTH}. 您生成的脚本可能是这样的: #!/bin/bash for f in *.jpg do output=${f:0:1}${f:1:1}$((${f:2:1} + ${f:3:1})).jpg mv -- "$f" "$output" done (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 网络 – 在docker-compose.yml中绑定主机端口时无法将服务扩
- scala – 在开始使用Lift之前我需要学习什么?
- vim phpdoc multiline comment autoindent
- bash shell脚本复制第一个文件,对当前目录具有一定的扩展名
- twitter-bootstrap – 添加工具提示以选择Bootstrap 3中的元
- AjaxToolKit--AutoComplete的介绍
- Make YouCompeleteMe work with vim
- 在BASH / SHELL中捕获输出和退出代码
- BootstrapTable与KnockoutJS相结合实现增删改查功能【一】
- 第一次接触神奇的Bootstrap菜单和导航