YAZ-MARCDUMP(1) Commands YAZ-MARCDUMP(1)

yaz-marcdump - ابزار استخراج و نمایش رکوردهای MARC

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...]

دستور yaz-marcdump رکوردهای MARC را از یک یا چند فایل می‌خواند. این ابزار هر رکورد را تجزیه کرده و از خروجی در قالب خطی (line-format)، ISO2709، MARCXML[1]، MARC-in-JSON[2]، MarcXchange[3] و همچنین خروجی هگزادسیمال (Hex) پشتیبانی می‌کند.

این ابزار رکوردهای ISO2709 (قالب خام MARC)، قالب خطی، قالب MARC-in-JSON و همچنین XML را در صورتی که ساختاری مانند MARCXML/MarcXchange داشته باشند، تجزیه می‌کند.

کدگذاری/رمزگشایی MARC-in-JSON در YAZ نسخهٔ 5.0.5 و بالاتر پشتیبانی می‌شود.


نکته

از نسخهٔ YAZ 2.1.18 به بعد، OAI-MARC دیگر پشتیبانی نمی‌شود. قالب OAI-MARC منسوخ شده است؛ در عوض از MARCXML استفاده کنید.

به‌طور پیش‌فرض، هر رکورد در خروجی استاندارد با یک قالب خطی نوشته می‌شود که در آن برای هر فیلد یک خط جدید و برای هر زیرفیلد x عبارت $x درج می‌گردد. قالب خروجی را می‌توان با گزینهٔ -o تغییر داد.

همچنین می‌توان از yaz-marcdump درخواست کرد که تبدیل مجموعه‌نویسه (character set conversion) را برای هر رکورد انجام دهد.

-i format

قالب ورودی را مشخص می‌کند. باید یکی از موارد marcxml، marc (ISO2709)، marcxchange (ISO25577)، line (قالب خطی MARC)، turbomarc (Turbo MARC)، یا json (MARC-in-JSON) باشد.

-o format

قالب خروجی را مشخص می‌کند. باید یکی از موارد marcxml، marc (ISO2709)، marcxchange (ISO25577)، line (قالب خطی MARC)، turbomarc (Turbo MARC)، یا json (MARC-in-JSON) باشد.

-f from

مجموعه‌نویسهٔ رکورد MARC ورودی را تعیین می‌کند. باید در کنار گزینهٔ -t به‌کار رود. برای مشاهدهٔ مجموعه‌نویسه‌های پشتیبانی‌شده به صفحهٔ راهنمای yaz-iconv مراجعه کنید.

-t to

مجموعه‌نویسهٔ خروجی را تعیین می‌کند. باید در کنار گزینهٔ -f به‌کار رود. برای مشاهدهٔ مجموعه‌نویسه‌های پشتیبانی‌شده به صفحهٔ راهنمای yaz-iconv مراجعه کنید.

-l leaderspec

یک رشتهٔ اصلاحی ساده را برای لیدر (MARC leader) مشخص می‌کند. leaderspec فهرستی از جفت‌های pos=value است که در آن pos یک آفست عددی صحیح (0 - 23) برای لیدر است. مقدار Value یا یک رشته درون گیومه و یا یک عدد صحیح (کد نویسه در مبنای ۱۰) است. جفت‌ها با کاما از یکدیگر جدا می‌شوند. برای نمونه، برای تنظیم لیدر در آفست 9 روی a، از 9='a' استفاده کنید.

-s prefix

بخشی (chunk) از رکوردها را در فایلی جداگانه با پیشوند مشخص‌شده می‌نویسد؛ یعنی دسته‌ای از رکوردها را به فایل‌هایی تقسیم می‌کند که در هر فایل حداکثر به‌تعداد "chunk" رکورد ISO2709 قرار دارد. به‌طور پیش‌فرض chunk برابر با 1 است (یک رکورد در هر فایل). گزینهٔ -C را ببینید.

-C chunksize

اندازهٔ هر بخش (chunk size) را مشخص می‌کند؛ باید همراه با گزینهٔ -s استفاده شود.

-O offset

آفست عددی صحیح که مشخص می‌کند نوشتن رکوردها از چه موقعیتی آغاز شود. 0=نخستین رکورد، 1=دومین رکورد و غیره. همراه با گزینهٔ -L، امکان پردازش محدودهٔ خاصی از رکوردها را فراهم می‌سازد.

-L limit

محدودیت عددی صحیح برای این‌که حداکثر چه تعداد رکورد نوشته شوند. همراه با گزینهٔ -O، امکان پردازش محدودهٔ خاصی از رکوردها را فراهم می‌سازد.

-p

باعث می‌شود yaz-marcdump شمارهٔ رکورد و آفست فایل ورودی هر رکورد خوانده‌شده را چاپ کند.

-n

خروجی MARC تولید نمی‌شود تا ورودی MARC صرفاً بررسی (check) گردد.

-r

خلاصه‌ای از تعداد رکوردهای خوانده‌شده توسط yaz-marcdump را در خروجی خطای استاندارد (stderr) می‌نویسد.

-v

اطلاعات بیشتری را دربارهٔ فرآیند تجزیه می‌نویسد. اگر رکوردهای ISO2709 دارای قالب‌بندی نادرست در ورودی باشند بسیار سودمند است.

-V

نسخهٔ YAZ را چاپ می‌کند.

دستور زیر MARC21/USMARC با کدگذاری MARC-8 را به MARC21/USMARC با کدگذاری UTF-8 تبدیل می‌کند. آفست 9 لیدر روی 'a' تنظیم می‌شود. هر دو رکورد ورودی و خروجی با کدگذاری ISO2709 هستند.

yaz-marcdump -f MARC-8 -t UTF-8 -o marc -l 9=97 marc21.raw >marc21.utf8.raw

همان رکوردها را می‌توان در قالب MARCXML با کدگذاری UTF-8 تبدیل کرد:

yaz-marcdump -f MARC-8 -t UTF-8 -o marcxml marc21.raw >marcxml.xml

قالب Turbo MARC یک ساختار XML فشرده با معناشناسی مشابه MARCXML است، اما امکان پردازش سریع‌تر را از طریق XSLT فراهم می‌سازد. برای تولید رکوردهای Turbo MARC کدگذاری‌شده با UTF-8 از MARC21 (ISO)، می‌توان از دستور زیر استفاده کرد:

yaz-marcdump -f MARC8 -t UTF8 -o turbomarc -i marc marc21.raw >out.xml

prefix/bin/yaz-marcdump

prefix/include/yaz/marcdisp.h

yaz(7)

yaz-iconv(1)

Index Data

1.
MARCXML
2.
MARC-in-JSON
3.
MarcXchange
05/20/2026 YAZ 5.37.3