我有一个文件夹 FOLDER1,其中包含不同的文件。
我的文件夹中有几个扩展名为 .png 的文件
我想使用 bash 脚本更改所有扩展名为 .png 的文件的文件名。我尝试写一篇,但仍然没有得到我想要的东西。
#!/bin/bash
# make sure you always put $f in double quotes to avoid any nasty surprises i.e. "$f"
i=0
for f in *.png
do
echo "${i}Processing $f file..."
i+=1;
echo ${i}
# rm "$f"
done
在脚本末尾,我希望所有文件的名称如下:
c-1.png
c-2.png
c-3.png
...
...
...
你能帮我吗? 谢谢
最佳答案
首先请注意:
i+=1
是字符串加法。你正在做的是 0,01,011,0111....你需要:
((++i))
接下来,您需要拆分文件名,一种方法是“.”。仅出现一次:
base=$(echo $f | cut -d. -f1)
最后移动:
mv $f ${base}-${i}.png
关于linux - 通过 bash 更改特定文件夹中的文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40870841/