答案1
我不相信你会找到一个${file/?/?}
产生数字序列的参数替换 - 尤其是每个文件夹的数字序列。相反,你需要设置和增加一个变量。
哪些参数替换(具体来说${file##*.}
)将要有用的是提取文件扩展名,以便您可以将其重新添加到顺序文件名中。例如,您可以这样做:
#!/bin/bash
shopt -s nullglob
for imageFolder in */; do
cd "$imageFolder" || continue
n=1
for file in *.*; do
echo mv -- "$file" "$((n++)).${file##*.}"
done
cd -
done
或(使用子 shell)
#!/bin/bash
shopt -s nullglob
for imageFolder in */; do
(
cd "$imageFolder" || exit
n=1
for file in *.*; do
echo mv -- "$file" "$((n++)).${file##*.}"
done
)
done