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.
Gregory Anders <greg@gpanders.com>