如何在不更改扩展名的情况下重命名目录中的大量文件?

Pat*_*son 3 shell scripting rename

我有个问题!我有一堆带有扩展名的图像文件。.jpg 和。PNG。我编写了一个脚本来重命名文件,以一种模式更改它们的名称,后跟这样的数字:

... arquivo_1.jpg arquivo_2.jpg ... 按照这个顺序,但它需要知道扩展名,在这种情况下我使用了扩展名。.jpg

我想知道如何优化脚本以使其重命名但保留文件的原始扩展名并继续执行我上面描述的序列。有人能帮我吗?

gle*_*man 5

如果变量中有文件名: file=photo.jpg

您可以像这样获得扩展名: ext=${file##*.}

从字符串的开头删除所有字符,包括最后一个点:

$ echo $ext
jpg
Run Code Online (Sandbox Code Playgroud)

请参阅 http://www.gnu.org/software/bash/manual/bashref.html#Shell-Parameter-Expansion