📜  在 Linux 上安装和使用 Exiftool

📅  最后修改于: 2022-05-13 01:57:05.151000             🧑  作者: Mango

在 Linux 上安装和使用 Exiftool

EXIF 工具是 Phil Harvey 在 Perl 上构建的广泛使用的元数据信息记录器。它是一种适用于各种文件类型的开源工具。 EXIF 代表 Exchangeable Image File Format,主要用于在 txt、png、jpeg、pdf、HTML 等各种文件类型中包含元数据。借助 EXIF 工具,我们还可以读取、写入和操作此类元数据信息。

安装:

Exiftool 是一个开源工具。该库是用独立于平台的 Perl 库构建的。

1. 将 git repo 克隆到您的系统上。

git clone https://github.com/exiftool/exiftool.git

2. 使用存储库中存在的测试文件测试该工具

cd exiftool
./exiftool t/images/ExifTool.jpg

Exiftool 安装

或者,在 Ubuntu 发行版上,您可以使用:

sudo apt install libimage-exiftool-perl

Exiftool 安装

或者干脆使用下面的命令它会自动捕获上面的命令。

sudo apt install exiftool

Exiftool 安装

要直接从源下载,请使用以下命令。这适用于任何 Linux 发行版,包括 CentOS。

wget https://sourceforge.net/projects/exiftool/files/Image-ExifTool-12.16.tar.gz
tar xvf Image-ExifTool-12.16.tar.gz
cd Image-ExifTool-12.16/
./exiftool t/images/ExifTool.jpg

Exiftool 安装Exiftool 安装

要全局安装它,请安装文件。

注意:当它在 Perl 上运行时,您必须在 Linux 发行版上安装 Perl。

perl Makefile.PL
make
make test
make install

Exiftool 安装Exiftool 安装Exiftool 安装

您现在可以通过键入 exiftool 在终端的任何位置运行 ExifTool。

用法:

读取元数据:

1. 要从文件中提取整个元数据列表,请使用以下命令。

exiftool  

Exiftool 使用

2. 要提取 id 及其十六进制格式的 Exif 标签,请使用 -H 标志运行上述命令。

exiftool -H 

Exiftool 使用

3. ExifTool 维护一个文件最常见的 Exif 标签列表,可以使用以下标志查看。

exiftool --common 

Exiftool 使用

4.使用ExifTool我们还可以提取预览图像或图像文件的缩略图。

exiftool -PreviewImage [filename.jpg] > [Output.jpg]
exiftool -ThumbnailImage [filename.jpg] > [Output.jpg]

Exiftool 使用

例子:

exiftool -b -PreviewImage CSM30803.CR2 > abc.jpg

-b 提取二进制信息并将结果存储在 abc.jpg 文件中

exiftool -b -ThumbnailImage CSM30803.CR2 > thumb.jpg

5. 我们还可以用详细模式生成扩展信息。这将向我们显示有关它正在执行的过程的综合数据。

exiftool -v 

编写元数据:

要编辑任何元数据,我们可以使用它对应的 Exif 标签进行更改。

注意:我们只能更改没有写保护的标签。

exiftool  -= “Geek Alert”  

编写元数据:

删除元数据:

如果我们想擦除文件元标记中的所有现有信息,我们可以使用以下命令。此命令将从文件中删除所有元数据,留下所有基本或受保护的标签信息。

exiftool  -all=  

删除元数据

保存元数据:

我们可以将 exiftool 的输出保存在另一个文件(最好是文本文件)中,以存储信息以供以后使用。

exiftool [filename] > [meta-data.txt]
cat 

应用:

1. 将图像文件按年和月分类到文件夹中

我们可以结合元数据中的信息来解决各种任务。假设我们有很多图像,我们想将它们分类到新文件夹中,并按年、月或天排列,那么我们可以使用以下命令:

该命令根据年份和月份将旧图像复制到目录中。

exiftool -o '-Directory
  • -o复制所有图像(以下称为旧图像)并从中制作新图像
  • -Directory使用图像创建日期将图像移动到新的目标文件夹
  • ./newimage/%y/%y%m是新目录的相对路径,它遵循命名约定为年,子目录为年月。
  • -r是在源文件夹上递归执行命令
  • ./oldimages是存储原始图像的源文件夹

例子:

要在当前目录中进行更改,请将图像移动到目录中。

exiftool '-Directory

我们可以看到图像被移动到一个新文件夹中,其中包含年和月日子文件夹。

exiftool 应用程序

2.根据创建日期重命名图像文件

假设您在一家摄影公司工作,并且您单击了许多活动的照片,但照片混合在一起,现在手动分离每张图像将需要大量浪费的精力。

在这里,我们将利用 exiftool 根据元数据创建日期和时间的 exif 标签来分离/重命名当前文件夹及其子文件夹中存在的所有原始文件。

exiftool '-filename
  • -filename使用图像的创建数据和时间重命名原始图像
  • -d设置日期/时间值的格式
  • %y%m%d-%H%M%S%%-03.c.%%e是重命名文件的格式。

例如:这会将 2021 年 2 月 1 日 14:08 拍摄的文件重命名为 20210201-1408-000.xxx。时间后面的三个零是 %%-03.c 以日期格式放在那里的副本数。

重命名文件时,副本号会不断增加,直到找到尚不存在的文件名。

  • .%%e保留原始文件扩展名
  • 使用.%%le (用于重命名小写扩展名)或.%%ue (用于重命名大写)
  • -r是在源文件夹上递归执行命令
  • ./imagepath是要重命名所有图像的目录的相对路径。

exiftool 应用程序

例子:

在当前目录中进行更改。

exiftool -d %Y-%m-%d_%H.%M.%S%%-c.%%e "-filename

ExifTool 是一个非常强大的文件元数据处理工具。它得到了广泛的应用,所有这些标志和选项的可能性是无穷无尽的。