Instalación y uso de Exiftool en Linux

La herramienta EXIF ​​es un registrador de información de metadatos ampliamente utilizado creado en Perl por Phil Harvey. Es una herramienta de código abierto única que funciona en una variedad de tipos de archivos. EXIF significa formato de archivo de imagen intercambiable y se utiliza principalmente para incluir metadatos en varios tipos de archivos como txt, png, jpeg, pdf, HTML y muchos más. Con la herramienta EXIF ​​también podemos leer, escribir y manipular dicha información de metadatos.

Instalación:

Exiftool es una herramienta de código abierto. La biblioteca está construida con la biblioteca Perl independiente de la plataforma. 

1. Clone el repositorio git en su sistema.

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

2. Pruebe la herramienta con un archivo de prueba presente en el repositorio

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

Exiftool Installation

Alternativamente, en la distribución de Ubuntu puedes usar:

sudo apt install libimage-exiftool-perl

Exiftool Installation

O simplemente use el siguiente comando, capturará automáticamente el comando anterior.

sudo apt install exiftool

Exiftool Installation

Para descargar directamente desde la fuente, use los siguientes comandos. Esto funcionará para cualquier distribución de Linux, incluido 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 InstallationExiftool Installation

Para instalarlo globalmente, instale el archivo.

Nota: como se ejecuta en Perl, debe tener Perl instalado en su distribución de Linux.

perl Makefile.PL
make
make test
make install

Exiftool InstallationExiftool InstallationExiftool Installation

Ahora puede ejecutar ExifTool en cualquier lugar de su terminal escribiendo exiftool.

Uso:

Lectura de metadatos:

1. Para extraer la lista completa de metadatos del archivo, use el siguiente comando.

exiftool  <filename>

Exiftool  usage

2. Para extraer los identificadores junto con las etiquetas Exif en su formato hexadecimal, ejecute el comando anterior con el indicador -H.

exiftool -H <filename>

Exiftool  usage

3. ExifTool mantiene la lista de etiquetas Exif más comunes para un archivo, que se puede ver con el siguiente indicador.

exiftool --common <filename>

Exiftool  usage

4. Con ExifTool también podemos extraer la imagen de vista previa o la miniatura de un archivo de imagen.

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

Exiftool  usage

Ejemplo:

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

-b para extraer información binaria y almacenar el resultado en el archivo abc.jpg

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

5. También podemos generar información extendida con modo detallado. Esto nos mostrará los datos completos sobre el proceso que está realizando.

exiftool -v <filename>

Escribir metadatos:

Para editar cualquier metadato, podemos usar su etiqueta Exif correspondiente para realizar los cambios.

Nota: Solo podemos cambiar las etiquetas que no están protegidas contra escritura.

exiftool  -<Exif Tag>= “Geek Alert”  <filename>

Writing Meta-Data:

Eliminación de metadatos:

Si queremos borrar toda la información existente dentro de las metaetiquetas del archivo, podemos utilizar el siguiente comando. Este comando eliminará todos los metadatos del archivo dejando toda la información de etiqueta básica o protegida.

exiftool  -all=  <filename>

Removing Meta-Data

Guardar metadatos:

Podemos guardar la salida de exiftool dentro de otro archivo (preferiblemente un archivo de texto) para almacenar la información para su uso posterior.

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

Solicitud:

1. Clasificación de archivos de imagen en carpetas por año y mes

Podemos combinar la información de los metadatos para resolver una variedad de tareas. Supongamos que tenemos muchas imágenes y queremos clasificarlas en nuevas carpetas y organizarlas por año, mes o día, entonces podemos usar el siguiente comando:

El comando copia las imágenes antiguas en directorios según su año y mes.

exiftool -o '-Directory<CreateDate' -d ./newimage/%y/%y%m -r ./oldimage
  • -o hacer copias de todas las imágenes (en lo sucesivo denominadas imágenes antiguas) y crear nuevas imágenes a partir de ellas
  • -Directory<CreateDate mueve las imágenes a sus nuevas carpetas de destino utilizando la fecha de creación de la imagen
  • ./newimage/%y/%y%m es la ruta relativa al nuevo directorio, sigue la convención de nomenclatura como año seguido del subdirectorio como año mes.
  • -r es la ejecución recursiva del comando sobre la carpeta de origen
  • ./oldimages es la carpeta de origen donde se almacenan las imágenes originales

Ejemplo:

Para realizar un cambio en el directorio actual, mueva la imagen a los directorios. 

exiftool '-Directory<CreateDate' -d %Y/%m-%d .

 Podemos ver que las imágenes se mueven a una nueva carpeta con el año y luego las subcarpetas mes-día.

exiftool Application

2. Cambiar el nombre de los archivos de imagen según su fecha de creación

Supongamos que está trabajando para una empresa de fotografía e hizo clic en las fotos de muchos eventos, pero las fotos se mezclaron y ahora segregar manualmente cada imagen requerirá mucho esfuerzo desperdiciado. 

Aquí aprovecharemos la herramienta exif para segregar/cambiar el nombre de todos los archivos sin procesar presentes dentro de la carpeta actual y su subcarpeta de acuerdo con la etiqueta exif de los metadatos Create Date and Time.

exiftool '-filename<CreateDate' -d %y%m%d-%H%M%S%%-03.c.%%e -r ./imagepath
  • -filename<CreateDate cambia el nombre de las imágenes sin procesar utilizando los datos y la hora de creación de la imagen
  • -d establece el formato para los valores de fecha/hora
  • %y%m%d-%H%M%S%%-03.c.%%e es el formato para cambiar el nombre del archivo.

Por ejemplo: Esto cambiaría el nombre de un archivo tomado el 1 de febrero de 2021 a las 14:08 a 20210201-1408-000.xxx. Los tres ceros después de la hora son un número de copia colocado allí por %%-03.c en el formato de fecha. 

Al cambiar el nombre de los archivos, el número de copias sigue aumentando hasta que encuentra un nombre de archivo que aún no existe.

  • .%%e mantiene la extensión del nombre de archivo original
  • Use .%%le (para cambiar el nombre de la extensión en minúsculas) o .%%ue (para cambiar el nombre en mayúsculas)
  • -r es la ejecución recursiva del comando sobre la carpeta de origen
  • ./imagepath es la ruta relativa al directorio con todas sus imágenes para cambiar el nombre.

exiftool Application

Ejemplo:

Para hacer un cambio en el directorio actual.

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

ExifTool es una herramienta muy poderosa para manipular metadatos de archivos. Tiene una amplia gama de aplicaciones y con todas esas banderas y opciones, las posibilidades son infinitas.

Publicación traducida automáticamente

Artículo escrito por piyushagg y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *