将 .jpeg 批量重命名为 .jpg

将 .jpeg 批量重命名为 .jpg

我有一个复杂的文件夹结构,其中包含超过 100,000 张图片,类似于以下结构:

├── folder1
│   ├── 0001.jpeg
│   └── 0002.jpeg
├── folder2
│   ├── 0001.jpeg
│   └── 0002.jpeg
├── folder3
│    └── folder4
│         ├── 0001.jpeg
│         └── 0002.jpeg
└── folder5
     └── folder6
           └── folder7
                ├── 0001.jpeg
                └── 0002.jpeg   

我想保持文件夹结构不变,但我想将每个 .jpeg 文件重命名为 .jpg 文件(.jpeg->.jpg)

我的下游命令需要 .jpg 文件,而尝试更改该代码以仅处理 .jpeg 文件失败。

答案1

  1. 打开终端。

  2. 使用命令将目录更改为 folder1 的父目录cd

    cd /path/to/parent/directory/of/folder1/
    
  3. 运行此命令将所有扩展名为 .jpeg 的文件重命名为 .jpg。

    find . -type f -name '*.jpeg' -print0 | xargs -0 rename 's/\.jpeg/\.jpg/'
    

上述命令使用rename基于 Debian 的操作系统默认安装的 Perl 程序。在其他一些 Linux 发行版中,相同的 Perl 重命名程序被称为前缀.prename 可以按照以下说明进行安装:获取 Perl 重命名实用程序,而不是内置重命名

相关内容