yaz-marcdump — MARC record dump utility
yaz-marcdump
[-i
] [format
-o
] [format
-f
] [from
-t
] [to
-l
] [spec
-v
] [-c
] [cfile
-s
] [prefix
-C
] [size
-p
] [file...]
yaz-marcdump reads MARC records from one or more files. It parses each record and supports output in line-format, ISO2709, MARCXML, MarcXchange as well as Hex output.
This utility parses records ISO2709(raw MARC) as well as XML if that is structured as MARCXML/MarcXchange.
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).
format
Specifies output format. Must be one of
marcxml
, marc
(ISO2709),
marcxchange
(ISO25577),
line
(line mode MARC).
from
Specify the character set from
of the input MARC record.
Should be used in conjunction with option -t
.
to
Specify the character set of
of the output.
Should be used in conjunction with option -f
.
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
.
Writes more information about the parsing process. Useful if you have ill-formatted ISO2709 records as input.
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 record 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 prints record number and input file offset of each record read.
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