YAZ-MARCDUMP(1)

πŸ’– YAZ-MARCDUMP(1) β€” the manual page πŸ’–

okay so bestie, you're reading the YAZ-MARCDUMP(1) manual page. This is where we spill all the tea about yaz-marcdump, the MARC record dump utility. No gatekeeping, just facts with ✨flair✨. Let's get into it.


πŸŽ€ NAME πŸŽ€

yaz-marcdump β€” MARC record dump utility. periodt.


πŸ¦‹ SYNOPSIS πŸ¦‹

yaz-marcdump [-i format] [-o format] [-f from] [-t to] [-l spec]
             [-c cfile] [-s prefix] [-C size] [-O offset] [-L limit]
             [-n] [-p] [-r] [-v] [-V] [file...]

🌸 DESCRIPTION 🌸

okay so yaz-marcdump reads MARC records from one or more files. It literally parses each record and supports output in:

  • line-format
  • ISO2709
  • MARCXML
  • MARC-in-JSON
  • MarcXchange
  • Hex output

This utility parses records in ISO2709 (raw MARC), line format, MARC-in-JSON format, as well as XML if that is structured as MARCXML or MarcXchange.

MARC-in-JSON encoding/decoding is supported in YAZ 5.0.5 and later. iykyk.

Note: 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 a newline for each field, and $x for each sub-field x. The output format may be changed with option -o.

yaz-marcdump can also be requested to perform character set conversion of each record. So if you need that MARC-8 to UTF-8 glow-up, it's got you.


✨ OPTIONS ✨

  • -i format β€” Specifies the input format. Must be one of marcxml, marc (ISO2709), marcxchange (ISO25577), line (line mode MARC), turbomarc (Turbo MARC), or json (MARC-in-JSON). Choose wisely, bestie.
  • -o format β€” Specifies the output format. Must be one of marcxml, marc (ISO2709), marcxchange (ISO25577), line (line mode MARC), turbomarc (Turbo MARC), or json (MARC-in-JSON). Same list, iconic.
  • -f 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. Don't skip this if you're doing conversions.
  • -t 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. The other half of the glow-up.
  • -l leaderspec β€” Specify a simple modification string for the MARC leader. The leaderspec is a list of pos=value pairs, where pos is an integer offset (0 - 23) for the leader. Value is either a quoted string or an integer (character value in decimal). Pairs are comma separated. For example, to set the leader at offset 9 to a, use 9='a'. Slay.
  • -s prefix β€” Writes a chunk of records to a separate file with the given prefix, 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. It's giving organized.
  • -C chunksize β€” Specifies the chunk size; to be used in conjunction with option -s. The moment you've all been waiting for.
  • -O offset β€” Integer offset for at what position records should be written. 0 = first record, 1 = second, .. With the -L option, this allows a specific range of records to be processed. Range queen.
  • -L limit β€” Integer limit for how many records should at most be written. With the -O option, this allows a specific range of records to be processed. The other half of range queen.
  • -p β€” Makes yaz-marcdump print the record number and input file offset of each record read. Like a little receipt of what's happening.
  • -n β€” MARC output is omitted so that MARC input is only checked. Vibe check only, no output.
  • -r β€” Writes to stderr a summary about the number of records read by yaz-marcdump. Lowkey useful.
  • -v β€” Writes more information about the parsing process. Useful if you have ill-formatted ISO2709 records as input. The tea spiller.
  • -V β€” Prints YAZ version. Just the version, no cap.

🌈 EXAMPLES 🌈

  1. 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
  1. 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
  1. Turbo MARC is a compact XML notation with the 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

πŸŽ€ FILES πŸŽ€

  • prefix/bin/yaz-marcdump
  • prefix/include/yaz/marcdisp.h

πŸ’« SEE ALSO πŸ’«


πŸ‘‘ AUTHORS πŸ‘‘

Index Data


πŸ“ NOTES πŸ“

  1. MARCXML β€” https://loc.gov/standards/marcxml/
  2. MARC-in-JSON β€” https://rossfsinger.com/blog/2010/09/a-proposal-to-serialize-marc-in-json/
  3. MarcXchange β€” https://loc.gov/standards/iso25577/

YAZ 5.38.1 β€’ 10/16/2026 β€” that's the version and date of this manual page, bestie. Stay slaying, and don't forget to read your man pages. πŸ’…βœ¨

πŸ“¦ where this page comes from