如何通过命令行截断名称来重命名多个文件?

问题描述 投票:0回答:1

2001.png 2002.png 2003.png 2004.png 2005.png 2006.png

假设我想以编程方式重命名这些图片来调用:

1.png 2.png 3.png 4.png 5.png 6.png

使用终端的最佳方式?它涉及正则表达式吗?在这种情况下,我会假设,因为我正在截断字母

terminal
1个回答
0
投票

您可以获取当前目录中的所有文件,并使用move命令更改其名称。在这种情况下,您希望从第3个字符获取名称的子字符串(在第3个字符后剩下5个符号,因此从3开始需要5个字符 - 文件:3:5)。

#!/bin/bash
for file in *.png; do
    new_file=${file:3:5}
    mv "$file" "${new_file%}"
done
© www.soinside.com 2019 - 2024. All rights reserved.