|
|
51CTO旗下网站
|
|
移动端

如何使用ExifTool提取文件的元数据

ExifTool是一个免费开源软件程序,用于读取、写入和更新PDF、音频、视频和图像等各种文件的元数据。它与平台无关,可作为perl库和命令行应用程序来使用。元数据是指关于数据的信息,比如文件大小、创建日期和文件类型等。本文将讨论使用ExifTool的不同方法。

作者:布加迪编译来源:51CTO|2020-02-07 08:00

【51CTO.com快译】ExifTool是一个免费开源软件程序,用于读取、写入和更新PDF、音频、视频和图像等各种文件的元数据。它与平台无关,可作为perl库和命令行应用程序来使用。元数据是指关于数据的信息,比如文件大小、创建日期和文件类型等。ExifTool非常易于使用,并提供了有关数据的许多信息。本文将讨论使用ExifTool的不同方法。

安装ExifTool

在Linux机器上安装ExifTool很容易。在终端中输入以下命令即可安装它:

  1. ubuntu@ubuntu:~$ sudo apt-get install libimage-exiftool-perl 

现在ExifTool已安装在机器中,随时可以使用。

提取文件的完整元数据

我们可以在终端中使用以下命令来获取文件的完整元数据:

  1. ubuntu@ubuntu:~$ exiftool 

我们输入上述命令后,可获得有关文件的所有信息,如下所示:

图1

它为我们提供了有关该文件的大量信息。在上图中,未显示所有详细信息。你可以通过向下滚动终端窗口来查看更多详细信息。

我们可以结合使用ExifTool和一些选项来提取文件的特定数据。想查看所有可用选项,请在终端中输入以下命令:

  1. ubuntu@ubuntu:~$ man exiftool 

它会打开ExifTool的手册页,如下所示,我们可以在此手册页中看到所有可用选项。其中一些选项在此处讨论。

图2

提取常见元数据

我们可以使用选项和Exiftool命令一起提取文件的最常见元数据。在终端中输入以下命令,以显示文件的常见元数据:

  1. ubuntu@ubuntu:~$ exiftool -common 

它将为我们提供文件的一般信息,如下图所示:

图3

提取图像位置

现代智能手机和数码相机在每张照片中保存了捕获图像所在位置的GPS坐标。我们可以通过在终端中执行以下命令来提取图像的GPS坐标。

  1. ubuntu@ubuntu:~$ exiftool | grep GPS 

它将为我们提供捕获图像所在位置的GPS坐标。

图4

提取特定元数据

我们还可以通过使用不同的选项来提取文件的特定元数据。你可以在手册页中查看所有选项。输入以下命令以查看特定元数据。

  1. ubunut@ubuntu:~$ exiftool - 

它将为我们提供<option>字段指定的特定信息。我们还可以使用多个选项,如下图所示:

5

创建缩略图图像

缩略图图像是指原始图像的预览,其大小比原始图像要小。它描述了原始图像的外观,可快速打开。

我们可以通过在终端中输入以下命令来创建缩略图图像。

  1. ubuntu@ubuntu:~$ exiftool -ThumbnailImage > thumb.jpg 

这会将原始图像的缩略图另存为“thumb.jpg”,该缩略图与原始图像相比较小。

图6

我们可以看到缩略图已创建,缩略图的大小仅为86字节,而原始图像的大小为3.8 MB。

使用关键字提取元数据

我们还可以使用关键字提取所需的元数据。比如说,如果想使用ExifTool显示图像宽度,可使用width关键字进行搜索。下面是将关键字与ExifTool结合使用的语法。

  1. ubuntu@ubuntu:~$ exiftool -”*width*” 

我们输入上述命令后,它将为我们提供与宽度有关的所有标签,如下图所示:

图7

我们可以看到,与“width”关键字有关的所有标签均已显示。这样,我们可以使用任何关键字来搜索相关标签。

ExifTool的详细模式

与普通模式相比,ExifTool的详细模式为我们提供了文件的更多详细信息。通过将<-v>选项与ExifTool结合使用,可以进入详细模式。详细模式的语法如下:

  1. ubuntu@ubuntu:~$ exiftool -v 

在详细模式下,ExifTool将为我们提供有关文件的更多信息,如下图所示:

图8

更新文件的元数据

ExifTool为我们提供了更新文件元数据的功能,但是这项功能受到限制,因此我们无法更新元数据的所有标签。我们可以更新一些标签。以下是更新文件元数据的语法:

  1. ubuntu@ubuntu:~$ exiftool -=”New_tag” 

这会将改为“New_tag”, 如下图所示:

图9

从上图可以看到“F Number”标签已从4.0更新到6.0,并创建了带有“_original”后缀的新图像。“image.jpg_original”中的“F Number”标签仍然是4.0。

一些无法更新,比如“Light Value”。我们尝试更新该时,它不会更改,并给出警告消息,如下图所示:

图10

在上图中,既没有更新,也没有创建带有“_original”后缀的新图像。

删除文件元数据

到目前为止,我们已更新了元数据,并提取了文件的元数据。我们还可以使用ExifTool删除文件的元数据。可以通过在终端中输入以下命令来删除文件的元数据:

  1. ubuntu@ubuntu:~$ exiftool -all

我们在终端中输入上述命令后,只有一些元数据被删除。下图清楚地解释了这一点:

图11

我们输入上述命令后,原始图像将恢复,并创建附有已更改元数据的新图像。我们可以看到图像的元数据精简了。

提取PDF文件的元数据

ExifTool不仅用于图像,还可以用于提取PDF和视频文件的元数据。提供PDF和视频文件元数据的语法与提取图像元数据的语法一样。下图显示了PDF文件的元数据:

图12

结论

ExifTool是一种用于提取文件元数据的强大工具。它不仅适用于图像,还适用于其他格式的文件,比如PDF和mp4等。它使我们能够更新和删除文件的元数据,并提供有关文件的许多信息。

原文标题:Extracting Metadata of a File using ExifTool,作者:Usama Azad

【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】

【编辑推荐】

  1. Google 开源最新 NLP 模型,能处理整本《罪与罚》
  2. 微软正式开源受 Rust 启发的新编程语言 Verona
  3. 让电影动漫统统变丝滑,480帧毫无卡顿,交大博士生开源插帧软件
  4. 开源项目的名称背后都有哪些故事?
  5. 用于联系人管理的三个开源工具
【责任编辑:庞桂玉 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

订阅专栏+更多

Python应用场景实战手册

Python应用场景实战手册

Python应用场景实战手册
共3章 | KaliArch

122人订阅学习

一步到位玩儿透Ansible

一步到位玩儿透Ansible

Ansible
共17章 | 骏马金龙1

205人订阅学习

云架构师修炼手册

云架构师修炼手册

云架构师的必备技能
共3章 | Allen在路上

43人订阅学习

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO官微