如何通过 sed 或类似工具减少文件名列表中的数字
How to decrease number in filename list by sed or similar tool
我有一个文件名中编号的文件列表,从例如开始。在 013(或其他计数)但希望将它们重命名为以 001 开头。我不介意使用的工具(awk、sed、mv、tr,等等...)
示例(之前 -> 之后):
img013.tif -> img001.tif
img014.tif -> img002.tif
...
等等
感谢任何帮助。 1000 x 谢谢,
罗兰
由于 glob 表达式将按字母(字母数字)顺序检索文件列表,您可以简单地使用它:
#!/bin/bash
i=0
# The loop iterates over tif files in alphanumerical order
for file in *.tif ; do
mv -v "$file" "img$(printf "%03d" "$i").tif"
i=$((i+1))
done
我有一个文件名中编号的文件列表,从例如开始。在 013(或其他计数)但希望将它们重命名为以 001 开头。我不介意使用的工具(awk、sed、mv、tr,等等...)
示例(之前 -> 之后):
img013.tif -> img001.tif
img014.tif -> img002.tif
...
等等
感谢任何帮助。 1000 x 谢谢, 罗兰
由于 glob 表达式将按字母(字母数字)顺序检索文件列表,您可以简单地使用它:
#!/bin/bash
i=0
# The loop iterates over tif files in alphanumerical order
for file in *.tif ; do
mv -v "$file" "img$(printf "%03d" "$i").tif"
i=$((i+1))
done