首页 > 解决方案 > 如何用以某个数字开头的数字替换文件名?

问题描述

我希望以 177.jpg 开头的文件命名为 177.jpg、178.jpg 等。我用它来将它们从 1 重命名为文件数量:

ls | cat -n | while read n f; do mv "$f" "$n.jpg"; done 

如何修改这个?但全新的脚本也会很棒。

标签: linuxbashshellfilenames

解决方案


Bash 可以为你做简单的数学运算:

mv "$f" $(( n + 176 )).jpg

只是希望没有文件名包含换行符。

有比解析 的输出更安全的方法ls,例如遍历扩展的通配符:

n=177
for f in * ; do
    mv "$f" $(( n++ )).jpg
done

推荐阅读