'\" t .\" Title: yaz-marcdump .\" Author: Index Data .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 05/20/2026 .\" Manual: Commands .\" Source: YAZ 5.37.3 .\" Language: English .\" .TH "YAZ\-MARCDUMP" "1" "05/20/2026" "YAZ 5.37.3" "Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "نام (NAME)" yaz-marcdump \- ابزار استخراج و نمایش رکوردهای MARC .SH "خلاصه دستور (SYNOPSIS)" .HP \w'\fByaz\-marcdump\fR\ 'u \fByaz\-marcdump\fR [\fB\-i\ \fR\fB\fIformat\fR\fR] [\fB\-o\ \fR\fB\fIformat\fR\fR] [\fB\-f\ \fR\fB\fIfrom\fR\fR] [\fB\-t\ \fR\fB\fIto\fR\fR] [\fB\-l\ \fR\fB\fIspec\fR\fR] [\fB\-c\ \fR\fB\fIcfile\fR\fR] [\fB\-s\ \fR\fB\fIprefix\fR\fR] [\fB\-C\ \fR\fB\fIsize\fR\fR] [\fB\-O\ \fR\fB\fIoffset\fR\fR] [\fB\-L\ \fR\fB\fIlimit\fR\fR] [\fB\-n\fR] [\fB\-p\fR] [\fB\-r\fR] [\fB\-v\fR] [\fB\-V\fR] [file...] .SH "توضیحات (DESCRIPTION)" .PP دستور \fByaz\-marcdump\fR رکوردهای MARC را از یک یا چند فایل می‌خواند\&. این ابزار هر رکورد را تجزیه کرده و از خروجی در قالب خطی (line\-format)، ISO2709، \m[blue]\fBMARCXML\fR\m[]\&\s-2\u[1]\d\s+2، \m[blue]\fBMARC\-in\-JSON\fR\m[]\&\s-2\u[2]\d\s+2، \m[blue]\fBMarcXchange\fR\m[]\&\s-2\u[3]\d\s+2 و همچنین خروجی هگزادسیمال (Hex) پشتیبانی می‌کند\&. .PP این ابزار رکوردهای ISO2709 (قالب خام MARC)، قالب خطی، قالب MARC\-in\-JSON و همچنین XML را در صورتی که ساختاری مانند MARCXML/MarcXchange داشته باشند، تجزیه می‌کند\&. .PP کدگذاری/رمزگشایی MARC\-in\-JSON در YAZ نسخهٔ 5\&.0\&.5 و بالاتر پشتیبانی می‌شود\&. .if n \{\ .sp .\} .RS 4 .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBنکته\fR .ps -1 .br .PP از نسخهٔ YAZ 2\&.1\&.18 به بعد، OAI\-MARC دیگر پشتیبانی نمی‌شود\&. قالب OAI\-MARC منسوخ شده است؛ در عوض از MARCXML استفاده کنید\&. .sp .5v .RE .PP به‌طور پیش‌فرض، هر رکورد در خروجی استاندارد با یک قالب خطی نوشته می‌شود که در آن برای هر فیلد یک خط جدید و برای هر زیرفیلد x عبارت $x درج می‌گردد\&. قالب خروجی را می‌توان با گزینهٔ \-o تغییر داد\&. .PP همچنین می‌توان از \fByaz\-marcdump\fR درخواست کرد که تبدیل مجموعه‌نویسه (character set conversion) را برای هر رکورد انجام دهد\&. .SH "گزینه‌ها (OPTIONS)" .PP \-i \fIformat\fR .RS 4 قالب ورودی را مشخص می‌کند\&. باید یکی از موارد marcxml، marc (ISO2709)، marcxchange (ISO25577)، line (قالب خطی MARC)، turbomarc (Turbo MARC)، یا json (MARC\-in\-JSON) باشد\&. .RE .PP \-o \fIformat\fR .RS 4 قالب خروجی را مشخص می‌کند\&. باید یکی از موارد marcxml، marc (ISO2709)، marcxchange (ISO25577)، line (قالب خطی MARC)، turbomarc (Turbo MARC)، یا json (MARC\-in\-JSON) باشد\&. .RE .PP \-f \fIfrom\fR .RS 4 مجموعه‌نویسهٔ رکورد MARC ورودی را تعیین می‌کند\&. باید در کنار گزینهٔ \-t به‌کار رود\&. برای مشاهدهٔ مجموعه‌نویسه‌های پشتیبانی‌شده به صفحهٔ راهنمای yaz\-iconv مراجعه کنید\&. .RE .PP \-t \fIto\fR .RS 4 مجموعه‌نویسهٔ خروجی را تعیین می‌کند\&. باید در کنار گزینهٔ \-f به‌کار رود\&. برای مشاهدهٔ مجموعه‌نویسه‌های پشتیبانی‌شده به صفحهٔ راهنمای yaz\-iconv مراجعه کنید\&. .RE .PP \-l \fIleaderspec\fR .RS 4 یک رشتهٔ اصلاحی ساده را برای لیدر (MARC leader) مشخص می‌کند\&. \fIleaderspec\fR فهرستی از جفت‌های pos=value است که در آن pos یک آفست عددی صحیح (0 \- 23) برای لیدر است\&. مقدار Value یا یک رشته درون گیومه و یا یک عدد صحیح (کد نویسه در مبنای ۱۰) است\&. جفت‌ها با کاما از یکدیگر جدا می‌شوند\&. برای نمونه، برای تنظیم لیدر در آفست 9 روی a، از 9=\*(Aqa\*(Aq استفاده کنید\&. .RE .PP \-s \fIprefix\fR .RS 4 بخشی (chunk) از رکوردها را در فایلی جداگانه با پیشوند مشخص‌شده می‌نویسد؛ یعنی دسته‌ای از رکوردها را به فایل‌هایی تقسیم می‌کند که در هر فایل حداکثر به‌تعداد "chunk" رکورد ISO2709 قرار دارد\&. به‌طور پیش‌فرض chunk برابر با 1 است (یک رکورد در هر فایل)\&. گزینهٔ \-C را ببینید\&. .RE .PP \-C \fIchunksize\fR .RS 4 اندازهٔ هر بخش (chunk size) را مشخص می‌کند؛ باید همراه با گزینهٔ \-s استفاده شود\&. .RE .PP \-O \fIoffset\fR .RS 4 آفست عددی صحیح که مشخص می‌کند نوشتن رکوردها از چه موقعیتی آغاز شود\&. 0=نخستین رکورد، 1=دومین رکورد و غیره\&. همراه با گزینهٔ \-L، امکان پردازش محدودهٔ خاصی از رکوردها را فراهم می‌سازد\&. .RE .PP \-L \fIlimit\fR .RS 4 محدودیت عددی صحیح برای این‌که حداکثر چه تعداد رکورد نوشته شوند\&. همراه با گزینهٔ \-O، امکان پردازش محدودهٔ خاصی از رکوردها را فراهم می‌سازد\&. .RE .PP \-p .RS 4 باعث می‌شود yaz\-marcdump شمارهٔ رکورد و آفست فایل ورودی هر رکورد خوانده‌شده را چاپ کند\&. .RE .PP \-n .RS 4 خروجی MARC تولید نمی‌شود تا ورودی MARC صرفاً بررسی (check) گردد\&. .RE .PP \-r .RS 4 خلاصه‌ای از تعداد رکوردهای خوانده‌شده توسط yaz\-marcdump را در خروجی خطای استاندارد (stderr) می‌نویسد\&. .RE .PP \-v .RS 4 اطلاعات بیشتری را دربارهٔ فرآیند تجزیه می‌نویسد\&. اگر رکوردهای ISO2709 دارای قالب‌بندی نادرست در ورودی باشند بسیار سودمند است\&. .RE .PP \-V .RS 4 نسخهٔ YAZ را چاپ می‌کند\&. .RE .SH "مثال‌ها (EXAMPLES)" .PP دستور زیر MARC21/USMARC با کدگذاری MARC\-8 را به MARC21/USMARC با کدگذاری UTF\-8 تبدیل می‌کند\&. آفست 9 لیدر روی \*(Aqa\*(Aq تنظیم می‌شود\&. هر دو رکورد ورودی و خروجی با کدگذاری ISO2709 هستند\&. .sp .if n \{\ .RS 4 .\} .nf yaz\-marcdump \-f MARC\-8 \-t UTF\-8 \-o marc \-l 9=97 marc21\&.raw >marc21\&.utf8\&.raw .fi .if n \{\ .RE .\} .PP همان رکوردها را می‌توان در قالب MARCXML با کدگذاری UTF\-8 تبدیل کرد: .sp .if n \{\ .RS 4 .\} .nf yaz\-marcdump \-f MARC\-8 \-t UTF\-8 \-o marcxml marc21\&.raw >marcxml\&.xml .fi .if n \{\ .RE .\} .PP قالب Turbo MARC یک ساختار XML فشرده با معناشناسی مشابه MARCXML است، اما امکان پردازش سریع‌تر را از طریق XSLT فراهم می‌سازد\&. برای تولید رکوردهای Turbo MARC کدگذاری‌شده با UTF\-8 از MARC21 (ISO)، می‌توان از دستور زیر استفاده کرد: .sp .if n \{\ .RS 4 .\} .nf yaz\-marcdump \-f MARC8 \-t UTF8 \-o turbomarc \-i marc marc21\&.raw >out\&.xml .fi .if n \{\ .RE .\} .sp .SH "فایل‌ها (FILES)" .PP \fIprefix\fR/bin/yaz\-marcdump .PP \fIprefix\fR/include/yaz/marcdisp\&.h .SH "همچنین ببینید (SEE ALSO)" .PP \fByaz\fR(7) .PP \fByaz-iconv\fR(1) .SH "نویسندگان (AUTHORS)" .PP \fBIndex Data\fR .SH "یادداشت‌ها (NOTES)" .IP " 1." 4 MARCXML .RS 4 \%https://loc.gov/standards/marcxml .RE .IP " 2." 4 MARC-in-JSON .RS 4 \%https://rossfsinger.com/blog/2010/09/a-proposal-to-serialize-marc-in-json .RE .IP " 3." 4 MarcXchange .RS 4 \%https://loc.gov/standards/iso25577 .RE