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

时间:2018-01-03 05:55:44

标签: terminal

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

让我们说我想以编程方式重命名这些图片来调用:

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

使用终端执行此操作的最佳方法是什么?它涉及正则表达式吗?在这种情况下,我会假设,因为我要截断字母

1 个答案:

答案 0 :(得分: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