pecomato(1) a portable picture-embedded metadata processor

SYNOPSIS

pecomato [OPTION...] OP [EXPR] FILE [FILE...]

pecomato [OPTION...] OP [EXPR] @FILE

usage of form OP EXPR only concerns OP mode dump-value, see below.

use @file to read a list of files from that file. the file must contain exactly one filename to process per line (don't escape anything, filenames are taken as-is).

DESCRIPTION

pecomato is basically designed to display any kind of information embedded in picture files, as well as checking, filtering, extracting, removing, adding and fixing such information. In other words, it's a metadata processor.

It supports the following file formats: JPEG/JFIF, Adobe PSD and FFO, raw IPTC. And it knows about the following metadata formats: JFIF, IPTC, Exif, Adobe and Fotostation. More file and metadata formats might be supported later: TIFF, etc.

One of its main goals is to check the validity of parsed metadata as well as optionally check the strict compliance to official standards. On another hand, it aims to provide ways of fixing broken or not compliant chunks as well as providing general basic functions to manipulate the metadata.

Please visit the program homepage at http://www.mollux.org/projects/pecomato/. Thanks for reporting issues at https://www.mollux.org/services/bugzilla/.

OPTIONS

general options:


 -v--version
show version number then exit

 -h--help
show this usage help then exit

     --list
list all supported embedded data structures

 -l--log-level NUM
define verbosity (see possible values below)

 -c--check-compliance
perform full checks to test the strict validity and compliance of structures to official formats

filtering and extracting options:


 -b--backup
create backup files of (re)written files if necessary

 -d--target-dir DIRNAME
target directory for all written files

 -f--fix
fix metadata inconsistencies when possible

extracting options:


 -x--extract TYPE
extract and save metadata to a standalone file (see below for a list of metadata types that can be extracted)

 -t--ext EXTENSION
define what filename extension to use when writing metadata that is extracted (default: .iptc)

 -a--append-ext
append extension to original filename when saving the extracted metadata (default: replace original file extension)

filtering options:


 -i--include EXPR
a filter expression describing the datasets to keep

 -i--include @FILE
or a file containing a list of datasets to keep, all other datasets will be filtered out. if not used, all datasets will be kept

 -e--exclude EXPR
a filter expression describing the datasets to filter out

 -e--exclude @FILE
a file containing a list of datasets to filter out, all other datasets will be kept. if not used all datasets will be kept

 --edit EXPR
a filter edit expression describing the datasets to add

 --edit @FILE
or a file containing a list of datasets to add. datasets won't be inserted if that breaks compliance to the standards

 --test
don't override original file, create *.rewrite file. this option only affects rewriting of source files

dump options:


 -w--wrap NUM
max column for wrapping (num must be in range [8-1024]). default is to dump unwrapped

POSSIBLE OPS


 check
just check embedded data structures

 dump
show embedded data (headers only)

 dump-full
show all embedded data (including values)

 dump-value
show requested value (headers only)

 filter
filter embedded data (see -i, -e and --edit)

DUMP-VALUE EXPRESSIONS

IPTC.<record>

same as filter include/exclude expression, see below:

FILTER INCLUDE/EXCLUDE EXPRESSIONS

IPTC.<record>

where <record> can be either:

all: *
hexadecimal unary: 0xhhhh
hexadecimal range: 0xhhhh-0xhhhh
decimal unary: nnn:nnn
decimal ranges: nnn:nnn-nnn

                   nnn:*

examples:

IPTC.0x0219
IPTC.0x0300-0x0364
IPTC.3:0-100

FILTER EDIT EXPRESSIONS

IPTC.<record>=<type>:<value>

where <record> can be either:

hexadecimal unary: 0xhhhh
decimal unary: nnn:nnn

where <type> can be either:

hex
text

and <value> is:

hex: [a-zA-Z0-9] pairs
text: any char (even widechars) on the line is taken as text, until

      a newline is found

examples:

IPTC.0x0200=hex:0002
IPTC.0x0219=text:this is a keyword

SUPPORTED METADATA FOR EXTRACTION


 iptc
IPTC datasets

POSSIBLE LOG LEVELS


 0
quiet, no output at all

 1
error messages only (default)

 2
warning and error messages

 3
informative, warning and error messages

 4
all messages including debug ones

SUPPORTED INPUT FILES


 JPEG files (commonly .jpeg.jpg.jpe.jfif.jif)

 Adobe Photoshop files (commonly .psd.pdd.ffo)

 FotoStation files (commonly .fdp.ipt)

 standalone IPTC metadata (commonly .iptc)

EXIT CODES


 0
normal exit

 1
usage error

 2
asynchronous signal termination

 3
normal exit, with warning(s)

 4
normal exit, with error(s)

 5
fatal error encountered

EXAMPLES

Check metadata structures of a JPEG file, only report errors
$ pecomato check file.jpg

AUTHOR

Written by Tristan Chabredier "wwp" <[email protected]>.

COPYRIGHT

Copyright (C) 2005-2007 Tristan Chabredier.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.