在下一篇文章中,我们将看一下ExifTool。 这是一个 免费和开源程序,用于读取,写入和处理图像,音频,视频和PDF元数据。 它独立于我们使用的平台。 它可以作为Perl库和命令行应用程序使用。
照片的元数据是添加到文件中的额外数据。 例如用于拍摄照片的相机或拍摄时间。 这些类型的图像元数据可以采用各种格式。 元数据中存储的信息可以是任何类型的,从公司的名称到计算机的名称,通过标签,修改日期,位置等...
ExifTool支持许多不同的元数据格式,包括EXIF,GPS,IPTC,XMP,JFIF,GeoTIFF,ICC配置文件,Photoshop IRB,FlashPix,AFCP和ID3,以及数码相机图像元数据。 如您所见 元数据不仅仅用于图像,但可以应用于所有类型的文件。
尽管这些详细信息对于对任何类型的文件进行分类非常有用,但它们也 可能包含敏感信息。 因此,我们还必须注意共享的文件,因为它们会携带我们不希望共享的信息。
ExifTool安装
我们可以通过一种简单的方法在Ubuntu中安装ExifTool。 我们只需要打开一个终端(Ctrl + Alt + T)并执行以下命令:
sudo apt install libimage-exiftool-perl
这样,我们将安装程序。 现在,我们可以通过控制台使用它。
在ExifTool中使用元数据
该程序接受的一些主要命令如下:
以下命令将向我们显示与我们指示的图像相关的所有元数据。
exiftool imagen.jpg
随后的此命令将删除与该文件关联的所有额外元数据。
exiftool -all= imagen.jpg
以下命令为指定GROUP中的TAG分配一个值。
exiftool -[GROUP:]TAG=VALUE imagen.jpg
使用这些命令,我们现在可以管理图像的所有元数据。 如果您想更多地了解可用于按每个人进行管理的标签和组,可以在此获取更多信息。 网站。 另一种看待方式 exiftool命令的更多选项将使用man的帮助 在我们的操作系统中。
有关管理元数据的更多示例
接下来,我们将看到一些示例来了解如何管理元数据:
添加或修改 GPS坐标 对于照片,我们将必须编写如下内容:
exiftool -exif:gpslatitude="27 33" -exif:gpslatituderef=S -exif:gpslongitude="165 130" -exif:gpslongituderef=E fotografia.jpg
使用-if选项进行条件标记。 这意味着您可以修改满足条件的一系列元数据,例如:
exiftool -alldates+=1 -if '$CreateDate ge "2017:11:02"' DIRECTORIO-IMAGENES
它将修改DIRECTORY-IMAGES中图像的时间。 如果它们是在1年2月2017日之后创建的,则将仅对这些图像添加XNUMX小时。 -alldates选项是可在jpeg文件(Datetimeoriginal,CreateDate和ModifyDate)中找到的所有时间戳的别名。 您可以在下面了解有关这些以及其他exiftool选项的信息 这页.
-if条件是通用的,这意味着您可以随意使用它,只要遵守Perl语法即可。 如有必要,可以在调用exiftool时使用-if连接多个表达式。 请记住,条件中标签的名称必须带有前缀“ $”,例如perl中的变量。 谁需要它可以在中找到更多示例和想法 这个网.
Exiftool的另一大优点是您不必重写图像的EXIF元数据。 -TagsFromFile选项将所有标签从指定文件复制到作为最终参数指定的文件。 例如:
exiftool -TagsFromFile tagged-img-fuente.jpg untagged-img-destino.jpg
另一方面,-w选项会将图像中找到的EXIF数据写入文本文件。 如果添加-htmlDump,它将把它们写入HTML文件。 如果您需要将所有元数据导出到数据库,则最好的方法是使用以下命令:
exiftool -t -S IMG-DIRECTORIO | grep -v ^====> img-tags-valores.txt
您可以在此找到另一个如何完成此操作的示例 链接.
卸载exiftool
要从我们的操作系统中删除该程序,我们只需要打开一个终端(Ctrl + Alt + T)。 在其中,我们将编写以下命令:
sudo apt remove libimage-exiftool-perl && sudo apt autoremove
您好,出现在终端中。
exiftool-[组:]标记=值parrot.jpg
警告:标签'] TAG'不存在
没事做。
尝试恢复EXIF时
exiftool -TagsFromFile标记为img-20180625_0032.CR2 untagged-img-parrot.jpg
-tagsFromFile选项不存在文件'tagged-img-20180625_0032.CR2'