我试图将所有扩展名都转换为小写,而不管它是什么。到目前为止,从我所看到的,你需要指定要转换为小写的文件扩展名。然而,我只想在名称中最后一个点.
之后将其余所有内容转换为小写。
如何在bash
中完成这个操作?
我试图将所有扩展名都转换为小写,而不管它是什么。到目前为止,从我所看到的,你需要指定要转换为小写的文件扩展名。然而,我只想在名称中最后一个点.
之后将其余所有内容转换为小写。
如何在bash
中完成这个操作?
所以,这些看起来像行噪声的解决方案很好,但是从Python REPL中很容易实现(我知道OP要求使用bash,但是现在许多安装了bash的系统也都安装了Python...):
import os
files = os.listdir('.')
for f in files:
path, ext = os.path.splitext(f)
if ext.isupper():
os.rename(f, path + ext.lower())
如果你只对某些文件扩展名感兴趣,比如将所有大写的“JPG”扩展名转换为小写的“jpg”,你可以使用命令行实用程序rename。进入要更改的目录,然后执行以下操作。
rename -n 's/\.JPG$/\.jpg/' *
rename 's/\.JPG$/\.jpg/' *