ijq(1) General Commands Manual ijq(1)

ijq - ابزار تعاملی jq

ijq [-cnsrjaRMCSV] [-f file] [filter] [files ...]

ijq یک جایگزین تقریباً مستقیم برای jq است که به شما امکان می‌دهد نتایج فیلتر خود را هم‌زمان با ساخت آن، به‌صورت تعاملی مشاهده کنید.

ijq شامل دو قاب و یک فیلد ورودی است: قاب سمت چپ، داده‌های ورودیِ اصلی و تغییرنیافته است و قاب سمت راست خروجی فیلترشده را نمایش می‌دهد. پس از پایان کار، برای خروج کلید Return را فشار دهید. خروجی فیلترشده در خروجی استاندارد و خود فیلتر در خطای استاندارد نوشته خواهد شد.

ijq تاریخچه‌ای از فیلترهای استفاده‌شده را نگه‌داری می‌کند، مگر اینکه از طریق history-file در فایل پیکربندی غیرفعال شده باشد. برای مرور تاریخچهٔ دردسترس، تمام متن درون فیلد فیلتر را پاک کنید.

اگر files مشخص نشود، ijq داده‌ها را از ورودی استاندارد می‌خواند.

یک منوی تعاملی با عمل toggle-menu دردسترس است (پیش‌فرض: Ctrl-/، Ctrl-? یا Ctrl-_).

تمام گزینه‌ها با همتایان خود در jq یکسان هستند. این گزینه‌ها عبارتند از:

-c

استفاده از خروجی فشرده به جای خروجی قالب‌بندی‌شده و خوانا (pretty-printed).

-n

هیچ ورودی‌ای خوانده نشود. برای استفاده از ijq به عنوان یک ماشین‌حساب یا ساخت داده‌های JSON از ابتدا مفید است.

-s

خواندن تمام ورودی در یک آرایهٔ واحد و اعمال فیلتر مشخص‌شده روی آن.

-r

اگر خروجی فیلتر یک رشته باشد، به جای قالب‌بندی به عنوان یک رشتهٔ JSON دارای نقل‌قول، مستقیماً در خروجی استاندارد نوشته می‌شود. برای استفاده از ijq در یک خط لوله (pipeline) با برنامه‌های دیگری که انتظار ورودی رشته‌ای عادی دارند مفید است.

-j

مستلزم -r است و خروجی را بدون خط جدید پایانی پس از هر نتیجه چاپ می‌کند.

-a

چاپ رشته‌ها تنها با استفاده از نویسه‌های ASCII و دنباله‌های گریز.

-R

ورودی به عنوان JSON تجزیه نشود؛ در عوض هر خط از ورودی به عنوان یک رشته به فیلتر منتقل شود. در صورت ترکیب با -s، تمام ورودی به عنوان یک رشتهٔ طولانی واحد به فیلتر ارسال می‌شود.

-M

غیرفعال کردن خروجی رنگی.

-C

اجبار به استفاده از خروجی رنگی.

-S

چاپ فیلدهای هر شیء به ترتیب مرتب‌شده.

-f file

خواندن فیلتر از file. هنگام استفاده از این گزینه، تمام آرگومان‌های مکانی (در صورت وجود) به عنوان فایل‌های ورودی تفسیر می‌شوند.

ijq پیکربندی را از $XDG_CONFIG_HOME/ijq/config می‌خواند. اگر $XDG_CONFIG_HOME مقداردهی نشده باشد، مسیر جایگزین ~/.config/ijq/config خواهد بود.

قالب این فایل scfg است. تمام تنظیمات اختیاری هستند. اگر تنظیمی هم در فایل پیکربندی و هم در خط فرمان وجود داشته باشد، مقدار خط فرمان اولویت دارد.

history-file file

مسیر فایل تاریخچه. اگر روی '' تنظیم شود، تاریخچه غیرفعال می‌شود.

jq-bin file

نام یا مسیر فایل اجرایی برنامهٔ jq برای استفاده.

hide-input-pane bool

اگر روی true باشد، برنامه با پنهان بودن قاب نمایش ورودی (چپ) شروع به کار می‌کند.

copy-filter-to-clipboard-on-exit bool

اگر روی true باشد، هنگام خروج با عمل submit-filter (پیش‌فرض: Return)، فیلتر فعلی در کلیپ‌بورد کپی می‌شود. فیلتر پیش از نوشته شدن خروجی در stdout کپی می‌شود، بنابراین حتی اگر نوشتن خروجی پس از آن با شکست مواجه شود، کپی انجام شده است. خروج با Ctrl-C هرگز داده‌ای در کلیپ‌بورد نمی‌نویسد.

keymaps

بخشی شامل کلیدهای میانبر. هر مدخلی که تعیین نشود، مقدار پیش‌فرض داخلی خود را حفظ می‌کند.

کلیدهای میانبر به صورت نام کلیدها (Ctrl+N، Shift+Up، Return) یا نویسه‌های تکی (u، G) نوشته می‌شوند. هم + و هم - می‌توانند میان کلیدهای تبدیلگر و نام کلیدها استفاده شوند؛ مانند Ctrl+N و Ctrl-N.

هنگامی که فیلد ورودی فیلتر دارای تمرکز است، نویسه‌های چاپی همواره به عنوان ورودی متن تلقی می‌شوند. برای تخصیص یک دستور سراسری هنگام ویرایش فیلتر، از یک کلید غیرقابل‌چاپ یا ترکیبی از کلیدهای تبدیلگر استفاده کنید.

مدخل‌های دردسترس عبارتند از: submit-filter، move-down، move-up، page-down، page-up، scroll-to-top، scroll-to-bottom، half-page-up، half-page-down، line-start، line-end، cursor-right، cursor-left، focus-input-pane، focus-output-pane، focus-filter-input، next-focus، previous-focus، toggle-input-pane، save-filter-history، next-autocomplete، previous-autocomplete، toggle-menu، copy-filter-to-clipboard، copy-output-to-clipboard.

این‌ها کلیدهای میانبر پیش‌فرض هستند. می‌توان آن‌ها را در بخش keymaps فایل پیکربندی بازتعریف کرد.

Shift + Up, Shift + Left

تمرکز روی قاب نمایش ورودی (چپ) (focus-input-pane).

Shift + Right

تمرکز روی قاب نمایش خروجی (راست) (focus-output-pane).

Shift + Down

تمرکز روی فیلد ورودی متنی (فیلتر) (focus-filter-input).

Tab

هنگامی که فیلد ورودی متن (فیلتر) دارای تمرکز است، فعال‌سازی تکمیل خودکار یا جابه‌جایی در فهرست تکمیل خودکار (next-autocomplete). هنگامی که یکی از قاب‌های نمایش دارای تمرکز است، جابه‌جایی میان نماهای مختلف (next-focus).

Shift-Tab

مانند Tab، اما در جهت مخالف حرکت می‌کند (previous-autocomplete، previous-focus).

Ctrl-A

هنگامی که فیلد ورودی متن دارای تمرکز است، انتقال نشانگر به ابتدای ورودی. هنگامی که یکی از قاب‌های نمایش دارای تمرکز است، تنظیم آفست ستون روی 0 (line-start).

Ctrl-E

هنگامی که فیلد ورودی متن دارای تمرکز است، انتقال نشانگر به انتهای ورودی. هنگامی که یکی از قاب‌های نمایش دارای تمرکز است، تنظیم آفست ستون برای مشاهدهٔ طولانی‌ترین خط مرئی (line-end).

Ctrl-F

هنگامی که فیلد ورودی متن دارای تمرکز است، انتقال نشانگر به اندازهٔ یک نویسه به جلو (cursor-right). هنگامی که یکی از قاب‌های نمایش دارای تمرکز است، پیمایش یک صفحه به پایین (page-down).

Ctrl-B

هنگامی که فیلد ورودی متن دارای تمرکز است، انتقال نشانگر به اندازهٔ یک نویسه به عقب (cursor-left). هنگامی که یکی از قاب‌های نمایش دارای تمرکز است، پیمایش یک صفحه به بالا (page-up).

Ctrl-D

هنگامی که فیلد ورودی متن دارای تمرکز است، حذف نویسهٔ زیر نشانگر. هنگامی که یکی از قاب‌های نمایش دارای تمرکز است، پیمایش نیم‌صفحه به پایین (half-page-down).

Ctrl-U

هنگامی که فیلد ورودی متن دارای تمرکز است، حذف تمام متن از نشانگر تا ابتدای فیلد. هنگامی که یکی از قاب‌های نمایش دارای تمرکز است، پیمایش نیم‌صفحه به بالا (half-page-up).

Ctrl-O

تغییر وضعیت نمایانیِ قاب نمایش ورودی (چپ) (toggle-input-pane).

Ctrl-S

ذخیرهٔ فیلتر فعلی در تاریخچه و نمایش پنجرهٔ بازشوی تأیید (save-filter-history).

Ctrl-/, Ctrl-?, Ctrl-_

باز یا بسته کردن منوی شناور (toggle-menu).

Space

هنگامی که منوی ریشهٔ شناور باز است، فعال‌سازی مدخل انتخاب‌شدهٔ منو. هنگامی که زیرنمای Configure باز است، تغییر وضعیت گزینهٔ انتخاب‌شده.

Enter, Return

هنگامی که زیرنمای Configure باز است، تغییر وضعیت گزینهٔ انتخاب‌شده. هنگامی که زیرنمای Manage history باز است، اعمال مدخل تاریخچهٔ انتخاب‌شده روی فیلتر و بستن منوی شناور (submit-filter).

x

هنگامی که زیرنمای Manage history باز است، حذف مدخل تاریخچهٔ انتخاب‌شده پس از دریافت تأیید.

/

هنگامی که زیرنمای Manage history باز است، باز کردن یک ورودی فیلتر برای مدخل‌های تاریخچه.

Esc, Ctrl-C, q

هنگامی که منوی شناور باز است، بازگشت به منوی ریشه یا بستن منوی شناور.

u, d, f, b

هنگامی که یکی از قاب‌های نمایش دارای تمرکز است، پیمایش نیم‌صفحه یا یک صفحه به بالا/پایین.

g

هنگامی که یکی از قاب‌های نمایش دارای تمرکز است، پیمایش به بالاترین نقطه (scroll-to-top).

G

هنگامی که یکی از قاب‌های نمایش دارای تمرکز است، پیمایش به پایین‌ترین نقطه (scroll-to-bottom).

Left, Down, Up, Right h, j, k, l

هنگامی که یکی از قاب‌های نمایش دارای تمرکز است، حرکت دادن نما به چپ/پایین/بالا/راست.

Return

بستن ijq. نوشتن محتویات قاب خروجی در stdout و فیلتر ورودی فعلی در stderr. فیلتر ورودی فعلی در فایل تاریخچه نیز ذخیره می‌شود.

Ctrl-C

هنگامی که منوی شناور باز است، بستن منوی شناور. هنگامی که ورودی فیلتر دارای تمرکز و غیرخالی است، پاک کردن ورودی فیلتر. در غیر این صورت، خروج فوری از ijq بدون نوشتن هیچ داده‌ای در stdout یا stderr.

برای مشاهدهٔ یک پیش‌نمایش به https://asciinema.org/a/496932 مراجعه کنید.

jq(1)

Gregory Anders <greg@gpanders.com>

2026-07-23