FY-TOOL(1) libfyaml FY-TOOL(1)

fy-tool - ابزار تجزیه، اعتبارسنجی و دستکاری فایل‌های YAML

fy-tool [گزینه‌ها] [<فایل> …]

fy-dump [گزینه‌ها] [<فایل> …]

fy-testsuite [گزینه‌ها] <فایل>

fy-filter [گزینه‌ها] [-f FILE] [<مسیر> …]

fy-join [گزینه‌ها] [-T PATH] [-F PATH] [-t PATH] [<فایل> …]

fy-ypath [گزینه‌ها] <ypath-expression> [<فایل> …]

fy-compose [گزینه‌ها] [<فایل> …]

fy-b3sum [گزینه‌ها] [<فایل> …]

دستور fy-tool رابط خط فرمان کتابخانه libfyaml برای تجزیه، بازنویسی، پرس‌وجو، ادغام، آزمایش و محاسبه هش داده‌های YAML و JSON است.

رفتار این فایل اجرایی بر اساس نام برنامه فراخوانی‌شده (fy-dump، fy-testsuite، fy-filter، fy-join، fy-ypath، fy-compose، fy-b3sum) یا با گزینه‌های صریح انتخاب حالت مانند --dump یا --filter تغییر می‌کند.

حالت پیش‌فرض dump است.

گزینه‌های عمومی

نمایش پیام راهنمای توکار.
نمایش نسخه libfyaml.
جلوگیری از نمایش خروجی‌های اطلاعاتی و هشدارهای غیربحرانی.
تعیین حداقل سطح شدت پیام‌های تشخیصی صادرشده توسط کتابخانه. مقدار پیش‌فرض 3 (سطح هشدار) است.
کنترل خروجی رنگی ANSI. مقادیر پشتیبانی‌شده عبارتند از on، off و auto. مقدار پیش‌فرض auto است.
نمایش فاصله‌ها، تب‌ها و شکست‌های خط در خروجی متنی.
تجزیه ورودی بدون تولید خروجی معمول.

گزینه‌های عیب‌یابی

غیرفعال کردن خروجی تشخیصی برای ماژول مشخص‌شده.
فعال کردن خروجی تشخیصی برای ماژول مشخص‌شده.
نمایش فیلد تشخیصی مشخص‌شده. مقادیر پشتیبانی‌شده عبارتند از source، position، type و module.
پنهان کردن فیلد تشخیصی مشخص‌شده.

گزینه‌های تجزیه‌کننده

افزودن DIR به مسیر جستجوی شمول (include) ورودی.
انتخاب نحوه مدیریت ورودی JSON. مقادیر پشتیبانی‌شده عبارتند از no، force و auto. مقدار پیش‌فرض auto است.
حل لنگرها (anchors) و کلیدهای ادغام در حین تجزیه.
اعمال اجباری قواعد YAML 1.1 هنگامی که ورودی نسخه را اعلام نکرده باشد.
اعمال اجباری قواعد YAML 1.2 هنگامی که ورودی نسخه را اعلام نکرده باشد.
اعمال اجباری قواعد YAML 1.3 هنگامی که ورودی نسخه را اعلام نکرده باشد.
دنبال کردن نام‌های مستعار (aliases) در حین پیمایش مسیر و عملیات مبتنی بر مسیر مرتبط.
پذیرش قوانین تورفتگی آسان‌گیرانه در حالت جریان (flow mode).
ترجیح الگوریتم‌های بازگشتی بر الگوریتم‌های تکرارشونده (iterative).
--ypath-aliases
فعال‌سازی پردازش نام‌های مستعار برای ارزیابی ypath.
مجاز دانستن کلیدهای نگاشت تکراری.
جمع‌آوری چندین خطای تجزیه پیش از گزارش شکست.
غیرفعال کردن ویژگی‌های شتاب‌دهنده تجزیه‌کننده/تولیدکننده.
غیرفعال کردن بافرینگ stdio و استفاده از خواندن مستقیم توصیف‌گر فایل (file descriptor).
غیرفعال کردن ورودی مبتنی بر نگاشت حافظه (mmap).
غیرفعال کردن محدودیت معمول عمق تو در تویی.

گزینه‌های تولیدکننده خروجی

تعیین عرض تورفتگی خروجی. مقدار پیش‌فرض 2 است.
تعیین عرض ترجیحی خروجی. برای عدم اعمال محدودیت عرض از inf استفاده کنید. مقدار پیش‌فرض 80 است.
انتخاب شیوه خروجی. مقادیر پشتیبانی‌شده عبارتند از original، block، flow، flow-oneline، json، json-tp، json-oneline، dejson، pretty، flow-compact و json-compact.
مرتب‌سازی کلیدهای نگاشت پیش از تولید خروجی.
حفظ و صدور توضیحات (کامنت‌ها) در صورت پشتیبانی.
حذف لنگرها و نام‌های مستعار از خروجی صادرشده.
حذف برچسب‌های صادرشده.
حذف نشانگرهای شروع و پایان سند.
نادیده گرفتن کلیدهایی که مقادیر آن‌ها خالی یا تهی (null) است.
جلوگیری از تولید خروجی معمول.
عدم افزودن خط جدید پایانی.
حفظ چیدمان مجموعه‌های جریانی تک‌خطی در صورت امکان.
ایجاد تورفتگی برای توالی‌های بلوکی که درون نگاشت‌های بلوکی قرار دارند.
استفاده از حالت خروجی جریانی. این حالت پیش‌فرض است.
غیرفعال کردن حالت خروجی جریانی.
بازتولید رویدادهای جریانی به جای عبور مستقیم آن‌ها.

گزینه‌های مجموعه آزمون

نادیده گرفتن نشانگرهای جریان در مجموعه آزمون.
نادیده گرفتن نشانگرهای سند در مجموعه آزمون.
نادیده گرفتن نشانگرهای سبک اسکالر در مجموعه آزمون.
ساخت ابتدا سند و سپس تولید جریان رویدادها از روی آن.
صدور خروجی مجموعه آزمون در قالب TSV.

گزینه‌های ورودی

خواندن از FILE به جای ورودی استاندارد در حالت‌هایی که از یک منبع ورودی استفاده می‌کنند. اگر FILE با > آغاز شود، ادامه متن به عنوان محتوای ورودی لفظی در نظر گرفته می‌شود.

گزینه‌های ادغام

ادغام در PATH. مقدار پیش‌فرض / است.
دریافت ورودی ادغام‌شده از PATH. مقدار پیش‌فرض / است.
صدور تنها PATH از نتیجه ادغام‌شده. مقدار پیش‌فرض / است.

گزینه‌های YPATH

شروع ارزیابی از PATH. مقدار پیش‌فرض / است.
--dump-pathexpr
نمایش عبارت مسیر تجزیه‌شده پیش از ارزیابی.
تجزیه عبارت بدون اجرای آن.

گزینه‌های ترکیب (Compose)

--dump-path
نمایش مسیر در حین ترکیب سند.

گزینه‌های B3SUM

فعال‌سازی حالت محاسبه هش BLAKE3.
استفاده از حالت اشتقاق کلید همراه با CONTEXT.
حذف نام فایل‌ها از خروجی چکسام.
صدور بایت‌های خام خلاصه پیام (digest).
صدور تنها N بایت خروجی، تا سقف حداکثر BLAKE3.
بررسی و اعتبارسنجی چکسام‌های خوانده‌شده از فایل‌های ورودی.
استفاده از هش کلیددار، با خواندن کلید مخفی از ورودی استاندارد.
انتخاب پیاده‌سازی بک‌اند BLAKE3.
فهرست کردن بک‌اندهای موجود برای BLAKE3.
تعیین تعداد ریسمان‌های پردازشی کارگر. مقدار 0 به معنی انتخاب خودکار و -1 غیرفعال‌کننده هش چندریسمانی است.
تعیین اندازه بافر ورودی/خروجی به ازای هر فایل.
تعیین حداقل اندازه تکه مورد استفاده برای ورودی هش با نگاشت حافظه.
تعیین حداکثر اندازه تکه مورد استفاده برای ورودی هش با نگاشت حافظه.

حالت‌ها

انتخاب حالت dump. این حالت پیش‌فرض و همچنین حالت مورد استفاده توسط fy-dump است.
انتخاب حالت مجموعه آزمون. این حالت همچنین توسط fy-testsuite استفاده می‌شود.
انتخاب حالت فیلتر. این حالت همچنین توسط fy-filter استفاده می‌شود.
انتخاب حالت ادغام. این حالت همچنین توسط fy-join استفاده می‌شود.
انتخاب حالت پرس‌وجوی ypath. این حالت همچنین توسط fy-ypath استفاده می‌شود.
انتخاب حالت داخلی scan-dump.
انتخاب حالت داخلی parse-dump.
انتخاب حالت dump هدایت‌کننده ترکیب‌کننده (composer-driver). این حالت همچنین توسط fy-compose استفاده می‌شود.
چاپ اطلاعات نسخه YAML.

خروجی گرفتن مجدد از یک فایل YAML با استفاده از حالت پیش‌فرض تولیدکننده خروجی:

$ fy-dump invoice.yaml

حل لنگرها و حذف برچسب‌ها از نتیجه نهایی:

$ fy-dump -r --strip-labels simple-anchors.yaml

خواندن متن ورودی لفظی از طریق --file:

$ fy-filter --file \">foo: bar\" /

انتخاب داده‌ها از یک فایل با استفاده از عبارت مسیر:

$ fy-filter --file simple-anchors.yaml /baz/bar

ادغام دو نگاشت ریشه در یک سند واحد:

$ fy-join simple-anchors.yaml invoice.yaml

تولید خروجی رویدادهای مجموعه آزمون:

$ fy-testsuite invoice.yaml

فهرست کردن بک‌اندهای موجود برای BLAKE3:

$ fy-b3sum --list-backends

Pantelis Antoniou <pantelis.antoniou@konsulko.com>

  • تنها کدگذاری نویسه‌ای پشتیبانی‌شده برای ورودی و خروجی UTF8 است.
  • مرتب‌سازی تنظیمات زبان و محلی را در نظر نمی‌گیرد.
  • هیچ راهکاری برای تعیین طرح رنگ‌بندی متفاوت توسط کاربر وجود ندارد.

libfyaml(3)

2019-2026, Pantelis Antoniou

March 15, 2026