yaz-marcdump — MARC record dump utility
yaz-marcdump
[-i
] [format
-o
] [format
-f
] [from
-t
] [to
-l
] [spec
-c
] [cfile
-s
] [prefix
-C
] [size
-n
] [-p
] [-v
] [-V
] [file...]
yaz-marcdump reads MARC records from one or more files. It parses each record and supports output in line-format, ISO2709, MARCXML, MARC-in-JSON, MarcXchange as well as Hex output.
This utility parses records ISO2709(raw MARC), line format, MARC-in-JSON format as well as XML if that is structured as MARCXML/MarcXchange.
MARC-in-JSON encoding/decoding is supported in YAZ 5.0.5 and later.
As of YAZ 2.1.18, OAI-MARC is no longer supported. OAI-MARC is deprecated. Use MARCXML instead.
By default, each record is written to standard output in a line
format with newline for each field, $x for each subfield x.
The output format may be changed with option -o
,
yaz-marcdump can also be requested to perform character set conversion of each record.
format
Specifies input format. Must be one of
marcxml
, marc
(ISO2709),
marcxchange
(ISO25577),
line
(line mode MARC),
turbomarc
(Turbo MARC),
or json
(MARC-in-JSON).
format
Specifies output format. Must be one of
marcxml
, marc
(ISO2709),
marcxchange
(ISO25577),
line
(line mode MARC),
turbomarc
(Turbo MARC),
or json
(MARC-in-JSON).
from
Specify the character set
of the input MARC record.
Should be used in conjunction with option -t
.
Refer to the yaz-iconv man page for supported character sets.
to
Specify the character set
of the output.
Should be used in conjunction with option -f
.
Refer to the yaz-iconv man page for supported character sets.
leaderspec
Specify a simple modification string for MARC leader. The
leaderspec
is a list of pos=value
pairs, where pos is an integer offset (0 - 23) for leader. Value
is either a quoted string or an integer (character value in decimal).
Pairs are comma separated. For example, to set leader at offset 9
to a, use 9='a'
.
prefix
Writes a chunk of records to a separate file with prefix given,
i.e. splits a record batch into files with only at most
"chunk" ISO2709 records per file. By default chunk is 1 (one record
per file). See option -C
.
chunksize
Specifies chunk size; to be used conjunction with option
-s
.
Makes yaz-marcdump print record number and input file offset of each record read.
MARC output is omitted so that MARC input is only checked.
Writes more information about the parsing process. Useful if you have ill-formatted ISO2709 records as input.
Prints YAZ version.
The following command converts MARC21/USMARC in MARC-8 encoding to MARC21/USMARC in UTF-8 encoding. Leader offset 9 is set to 'a'. Both input and output records are ISO2709 encoded.
yaz-marcdump -f MARC-8 -t UTF-8 -o marc -l 9=97 marc21.raw >marc21.utf8.raw
The same records may be converted to MARCXML instead in UTF-8:
yaz-marcdump -f MARC-8 -t UTF-8 -o marcxml marc21.raw >marcxml.xml
Turbo MARC is a compact XML notation with same semantics as MARCXML, but which allows for faster processing via XSLT. In order to generate Turbo MARC records encoded in UTF-8 from MARC21 (ISO), one could use:
yaz-marcdump -f MARC8 -t UTF8 -o turbomarc -i marc marc21.raw >out.xml