gpt4 book ai didi

bash - 根据名称中的符号重命名文件

转载 作者:行者123 更新时间:2023-11-29 09:20:40 25 4
gpt4 key购买 nike

我有很多这样的文件(图片)(文件名只由数字组成):

123456.jpg
369258.jpg
987123.jpg
...

我需要在其他文件夹中复制每个文件(我们将其命名为output)并根据名称中的数字重命名每个文件,如下所示(伪代码):

outputFileName = String(filename[0]) + String(filename[1]) + String(filename[2]+filename[3]) + ".jpg"

因此,如您所见,重命名涉及获取文件名中的某个符号,有时还会获取文件名中某些符号的总和。

我需要制作一个脚本,根据类似的算法对我放置脚本的文件夹中的所有 *.jpg 进行批量重命名,并将重命名的文件输出到我之前提到的 output 文件夹中。

这个脚本应该可以通过 cygwin shell 从 macos 终端和 windows 运行。

最佳答案

我假设主要问题是:如何获取 bash 变量的特定字符以及如何在 bash 中执行加法。

  1. 要从 bash 变量获取字符,您可以使用以下形式:${var:START_INDEX:LENGTH}

  2. 执行加法:$((ARG1 + ARG2))

您生成的脚本可能是这样的:

#!/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

关于bash - 根据名称中的符号重命名文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17652220/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com