📜  在 Linux 上安装和使用 Exiftool(1)

📅  最后修改于: 2023-12-03 15:07:42.989000             🧑  作者: Mango

在 Linux 上安装和使用 Exiftool

Exiftool是一个开源工具,可以读取、编写和编辑图像、音频和视频文件的元数据信息。在本文中,我们将介绍如何在 Linux 系统上安装和使用Exiftool。

安装 Exiftool

Exiftool是一个免费的跨平台开源项目,因此在Linux系统上安装非常简单。我们只需要使用系统包管理器即可:

On Debian/Ubuntu:

sudo apt-get install libimage-exiftool-perl

On CentOS/Fedora:

sudo yum install perl-Image-ExifTool

On ArchLinux:

sudo pacman -S perl-image-exiftool

这将安装 Exiftool 以及其所有的依赖项。

基本用法

安装完成后,我们可以通过在终端中输入 exiftool 来开始使用 Exiftool 命令行工具。以下是一些常见操作:

  • 显示所有可用的标记
exiftool -h
  • 在图像上读取元数据信息
exiftool image.jpg
  • 在图像上写入或编辑元数据信息
exiftool -Artist="John Doe" image.jpg
  • 处理一个目录下的所有图像
exiftool directory/
  • 通过过滤器选取特定的元数据信息
exiftool -Orientation -DateTimeOriginal image.jpg
  • 将元数据信息导出到一个文件中
exiftool image.jpg > metadata.txt
高级用法

Exiftool 提供了许多高级选项,例如可以通过嵌入 Perl 脚本来对元数据进行处理和转换,或者创建一个 “方案” 来自定义元数据标记和值。这里只举出一些例子:

  • 执行一个 Perl 脚本,处理所有图像的元数据信息
exiftool '-if $FileType eq "JPEG" or $FileType eq "TIFF"' \ 
         -common_args -execute='printf("-%s\0%s\0", $_, $val) for %Image;' \
         /path/to/directory
  • 创建一个 Exiftool 方案
%Image::ExifTool::UserDefined = (
    'Image::ExifTool::XMP::hoge' => {
        Name => 'Hoge',
        Writable => 'string',
    },
);

以方案名 UserDefined 建立自定义标记,其名称为 Hoge,标记类型为 “string”。在使用时,可以直接通过 -hoge=xxx 来设置这个标记的值。

结论

Exiftool 是一个强大的工具,可以帮助我们轻松地读取、编辑和转换图像、音频和视频文件的元数据信息。无论是通过命令行,还是嵌入Perl脚本,其灵活性都让人惊叹。安装和使用Exiftool只需简单几步,推荐给所有对数字素材有处理需求的程序员。