该详细的指南说明了什么是Exiftool ,如何在Linux上安装Exiftool以及如何使用它使用实际示例来管理图像元数据信息。
最后,我们将简要了解两种类型的元数据标准( EXIF和XMP)之间的区别。甚至还有一张Exiftool备忘单,可以帮助您记住命令!
目录
菲尔·哈维(Phil Harvey)开发的Exiftool是一个强大的命令行应用程序和Perl库,旨在以各种文件格式管理元数据。
使用Exiftool,我们可以管理嵌入在各种数字文件中的隐藏详细信息(IE元数据)。这些细节可以包括:
Exiftool在不同平台(Linux,MacOS和Windows)上工作,有两种口味:
如果您每天都在处理图像,视频,音频文件或PDF,我可以保证Exiftool可能是您的最佳伴侣!
注意: EXIF代表更改后的法师格式。
Exiftool以其广泛的功能而闻名,可满足各种元数据管理需求:
Exiftool可以通过几种方式安装在Linux上。
Exiftool在流行Linux操作系统的默认存储库中可用。
对于Debian,Ubuntu和其他基于Debian的发行版,您可以使用APT软件包管理器安装Exiftool:
sudo apt更新 sudo apt安装exiftool
这将安装Exiftool及其依赖关系。
对于Fedora,您可以使用DNF软件包管理器:
sudo dnf安装perl-image-exiftool
如果您希望从源安装Exiftool,请按照以下步骤:
1。下载最新版本:
在撰写本指南时,Exiftool的最新版本为12.89 。让我们使用命令下载它:
WGET https://exiftool.org/image-exiftool-12.89.tar.gz
2。提取下载的文件:
tar xvf image-exiftool-12.89.tar.gz
3。导航到提取的目录:
CD Image-Exiftool-122.89
4。安装Exiftool :
确保已安装了开发工具。然后运行以下命令一个:
perl makefile.pl 制作 进行测试 Sudo进行安装
您也可以克隆Exiftool存储库并安装它:
1。克隆存储库:
git克隆https://github.com/exiftool/exiftool.git
2。导航到克隆目录:
CD Exiftool
3。运行Exiftool :
./ exiftool/path/to/image
这些方法应帮助您在Linux系统上启动并运行。
以下是一些基本命令,以说明如何使用Exiftool:
从图像文件读取元数据:
Exiftool Image.jpg
此命令显示与image.jpg关联的所有元数据。
例子:
我将显示名为ostechnix.png的图像文件的元数据。
Exiftool ostechnix.png
样本输出:
Exiftool版本编号:12.16 文件名:ostechnix.png 目录:。 文件大小:6.4 KIB 文件修改日期/时间:2020:08:22 15:21:00 05:30 文件访问日期/时间:2024:07:22 17:52:28 05:30 文件Inode更改日期/时间:2024:07:11 13:44:03 05:30 文件权限:rwxrwxrwx 文件类型:PNG 文件类型扩展名:PNG MIME类型:图像/PNG 图像宽度:267 图像高度:267 位深度:8 颜色类型:带alpha的RGB 压缩:放气/膨胀 过滤器:自适应 交叉:不隔离 单元x的像素:11811 单位y的像素:11811 像素单元:仪表 图像尺寸:267x267 百万像素:0.071
在图像文件中添加或修改元数据:
Exiftool -Artist =“您的名字” image.jpg
此命令将Artist标签设置为Image.jpg中的“您的名字”。
例子:
将艺术家标签设置/更改为ostechnix.png中的“ Senthil Kumar”:
让我们通过阅读文件的元数据来验证作者的名称是否确实更新了:
正如您在上面的输出中看到的那样,添加了艺术家名称。
注意:编写信息时,通过将“ _original”添加到文件名中来保存原始文件。您必须保留原件的副本,或在擦除原件之前彻底验证新文件。
将元数据从一个文件复制到另一个文件:
exiftool -tagsfromfile source.jpg target.jpg
此命令将所有元数据标签从source.jpg复制到target.jpg。
删除特定标签:
exiftool -tagname =文件名
例如,从image.jpg中删除艺术家标签:
Exiftool -Artist = Image.jpg
要从文件中删除所有元数据:
Exiftool -all = image.jpg
此命令从image.jpg中删除所有元数据。
批处理处理使您可以同时将元数据更改应用于多个文件。
一次编辑元数据,以一次为多个文件:
Exiftool -Artist =“ John Doe” *.jpg
此命令为目录中的所有JPEG文件设置Artist标签。
要处理子目录中的文件,请使用-r选项:
Exiftool -r -Artist =“ John Doe”/path/to/directory
此命令为/path/to/to/Directory及其子目录中的所有JPEG文件设置Artist标签。
查看所有可以编辑的标签的列表:
Exiftool -list
此命令列出了Exiftool可以读写的所有标签。
exiftool -t -tricedate -ofture -shutterspeed -iso image.jpg
此命令从image.jpg提取创建的,孔径,shutterspeed和ISO标签。
例子:
您可以使用Exiftool使用简单命令来重命名文件的“ tate Date”元数据:
exiftool -d“%y-%m-%d_%h-%m-%s %% - c。%% e” - fileName <datetimeriginal image.jpg><p>此命令使用格式yyyy-mm-dd_hh-mm-ss基于其dateTimeOriginal元数据重命名image.jpg。</p> <h3>递归重命名</h3> <p>如果要根据元数据递归重命名特定目录中的所有文件,则可以使用-r标志如下:</p> <pre class="brush:php;toolbar:false"> exiftool -r -d“%y-%m-%d_%h-%m-%s %% - c。%% e” - fileName <datetimeriginal><p>此命令将递归重命名指定目录及其子目录中的所有文件。</p> <h3>处理重复的文件名</h3> <p>格式的%% -C一部分确保如果有重复的文件名,则将附加复制号以避免覆盖文件。例如,如果两个文件具有相同的日期和时间,则将命名为2024-07-13_12-23-21-1.jpg和2024-07-13_12-23-23-21-2.jpg。</p> <h3>重命名特定文件类型</h3> <p>要重命名特定文件类型,例如JPEG文件,您可以使用-ext选项:</p> <pre class="brush:php;toolbar:false"> Exiftool -r -R-ext Jpg -d“%y-%m-%d_%h-%m-%s %% - c。%% e” - filename <datetimeriginal><p>此命令将仅在指定目录及其子目录中重命名JPEG文件。</p> <h3>提取缩略图图像</h3> <pre class="brush:php;toolbar:false">Exiftool -b -B -Thumbnailimage image.jpg> thumbnail.jpg
此命令从image.jpg提取缩略图图像,并将其保存为thumbnail.jpg。
exiftool -geotag track.log image.jpg
此命令geotags image.jpg使用track.log的GPS数据。
如果您有带有GPS数据的CSV文件,则可以批处理图像图:
exiftool -geotag gps_data.csv/path/to/fimage
此命令使用来自gps_data.csv的GPS数据中的/路径/到/图像中的所有图像。
Exiftool -Validate -Warning -Error Image.jpg
此命令验证了image.jpg的元数据并显示任何警告或错误。
exiftool -a -g1 -s image.jpg> metadata.txt
此命令从image.jpg提取所有元数据,并将其保存到getadata.txt。
Exiftool -r -W .txt -common图片
此命令递归从图片目录中的所有文件中提取常见的元数据,并将输出写入具有相同名称的文本文件,但具有.txt扩展名。
这是您可以使用Exiftool从图像中提取GPS坐标的方法。
exiftool -gpslatitude -gpslongitude image.jpg
此命令将显示image.jpg的GPS纬度和经度。
Exiftool -GPS* image.jpg
此命令从Image.jpg提取所有与GPS相关的元数据。
样本输出:
GPS Latitude Ref : NorthGPS Longitude Ref : EastGPS Altitude Ref : Above Sea LevelGPS Time Stamp : 13:37:16GPS Date Stamp : 2023:05:18GPS Altitude : 93.9 m Above Sea LevelGPS Date/Time : 2023:05:18 13:37:16ZGPS Latitude : 52 deg 40' 11.85" NGPS Longitude : 13 deg 16' 51.10" EGPS Position : 52 deg 40'11.85“ n,13 deg 16'51.10” e
将GPS坐标保存到文本文件:
exiftool -gpslatitude -gpslongitude -t image.jpg> gps_coordinates.txt
此命令将image.jpg的gps纬度和经度写入gps_coordinates.txt。
从目录中的所有图像中提取GPS坐标并将其保存到文本文件中:
exiftool -fileName -gpslatitude -gpslongitude -t/path/to/Directory> gps_coordinates.txt
此命令将使用指定目录中所有图像的文件名和GPS坐标创建一个选项卡 - 删除的文件gps_coordinates.txt。
如果您希望以十进制程度为单位的坐标,请添加-n选项:
exiftool -gpslatitude -gpslongitude -n image.jpg
样本输出:
GPS纬度:52.6699589722222GPS经度:13.280862
该命令以小数度输出GPS坐标。
基本阅读:
Exiftool Image.jpg
提取特定的元数据标签:
exiftool -t -tricedate -ofture -shutterspeed -iso image.jpg
将所有元数据提取到文本文件:
exiftool -a -g1 -s image.jpg> metadata.txt
从目录中的所有文件中提取元数据:
Exiftool -r -W .txt -common图片
添加或修改元数据标签:
exiftool -tagname =“新值”文件名
批处理处理(对目录中的所有文件修改元数据):
Exiftool -Artist =“ John Doe” *.jpg
递归批处理处理:
Exiftool -r -Artist =“ John Doe”/path/to/directory
将元数据从一个文件复制到另一个文件:
exiftool -tagsfromfile source.jpg target.jpg
将元数据从一个文件复制到多个文件:
exiftool -tagsfromfile source.jpg -ext jpg/path/to/directory
删除所有元数据:
Exiftool -all = image.jpg
删除特定的元数据标签:
exiftool -tagname =文件名
根据所示日期重命名文件:
Exiftool -d“%y-%m-%d_%h-%m-%s %% - c。%% e” - fileName <datetimeriginal><p><strong>递归重命名:</strong></p> <pre class="brush:php;toolbar:false"> exiftool -r -d“%y-%m-%d_%h-%m-%s %% - c。%% e” - filename <datetimeriginal><p><strong>重命名特定文件类型:</strong></p> <pre class="brush:php;toolbar:false"> Exiftool -r -R-ext Jpg -d“%y-%m-%d_%h-%m-%s %% - c。%% e” - filename <datetimeriginal><h3> 6。地理标记</h3> <p><strong>基本地理标记:</strong></p> <pre class="brush:php;toolbar:false"> exiftool -geotag track.log image.jpg
批处理:
exiftool -geotag gps_data.csv/path/to/fimage
基本提取:
exiftool -gpslatitude -gpslongitude image.jpg
提取所有GPS数据:
Exiftool -GPS* image.jpg
输出到文本文件:
exiftool -gpslatitude -gpslongitude -t image.jpg> gps_coordinates.txt
批次提取:
exiftool -fileName -gpslatitude -gpslongitude -t/path/to/Directory> gps_coordinates.txt
小数点的输出:
exiftool -gpslatitude -gpslongitude -n image.jpg
查看可用标签:
Exiftool -list
验证元数据:
Exiftool -Validate -Warning -Error Image.jpg
提取缩略图:
Exiftool -b -B -Thumbnailimage image.jpg> thumbnail.jpg
EXIF和XMP都是数字成像中使用的元数据标准,但它们具有不同的目的并且具有不同的特征。
EXIF和XMP元数据对于数字成像的不同方面都很重要。 EXIF对于理解如何捕获图像的技术细节很有用,而XMP在整个编辑和发布过程中提供了一种更全面,更灵活的方法来管理和保存元数据。
现在,您了解所有有关Exiftool的信息! Exiftool是一个有力的工具,对于想要在数字文件中理解和管理元数据的任何人。这对于摄影师,摄像师以及任何想保持其数字文件井井有条的人可能特别有用。
资源:
相关阅读:
以上是如何使用Linux中的Exiftool管理图像元数据的详细内容。更多信息请关注PHP中文网其他相关文章!