| LESSPIPE.SH(1) | أوامر المستخدم | LESSPIPE.SH(1) |
الاسم
lesspipe.sh - مرشح لـ less
موجز
lesspipe.sh [ملف[ات]]...
الوصف
الهدف من lesspipe.sh هو تحسين مخرجات less. يعتمد اختيار القواعد المطبقة لتعديل المخرجات على محتويات الملف. يُراعى امتداد الملف فقط كملاذ أخير. عادةً يُستدعى lesspipe.sh كمرشح إدخال لـ less.
بمساعدة هذا المرشح، يعرض less المحتويات غير المضغوطة للملفات المضغوطة (gzip, bzip2, compress, zstd, lz4, lzip, xz, lzma, zlib أو brotli). للملفات التي تحتوي على أرشيفات وأدلة، يُعرض جدول محتويات (tar, ar, zip, 7-zip, rar, jar, cpio, rpm, deb ms-cabinet, iso, dmg, appimage وصيغ snap). تُعاد تنسيق العديد من الملفات الأخرى للعرض. يتضمن ذلك صيغ pdf, dvi, markdown, Office (MS و Openoffice)، وصيغ NetCDF, matlab, device tree blob, html, xml وصيغ الوسائط (صورة، صوت وفيديو). يتطلب هذا تثبيت برامج مساعدة.
يمكن أيضًا تطبيق المرشح بشكل متكرر لاستخراج وعرض الملفات في الأرشيفات أثناء التشغيل. يعمل هذا حتى عمق 6 حيث يُعتبر تطبيق خوارزمية فك الضغط مستوى منفصلًا.
إذا أبلغت أداة الملف عن نص بترميز مختلف عن المستخدم في الطرفية، يُحول النص باستخدام iconv إلى الترميز المبدئي. يفترض هذا أن أمر file يحصل على ترميز الملف بشكل صحيح، وهو ما قد يكون خاطئًا في بعض الحالات. يؤدي إلحاق نقطتين باسم الملف إلى منع التحويل.
عند استخدام البرامج git أو vim أو mutt، يمكن تمكينها لقراءة الملفات غير النصية باستخدام lesspipe.sh. هذا موصوف في الويكي على https://github.com/wofr06/lesspipe/wiki.
تفعيل المرشح
يُستدعى المرشح من less بشرط ضبط المتغير البيئي LESSOPEN بشكل صحيح. للأصداف المشابهة لـ ksh (bash, zsh)، الأمر
eval `lesspipe.sh` (bash) or lesspipe.sh|source /dev/stdin (zsh)
تعمل الأوامر أعلاه فقط بالطريقة الموصوفة إذا كان اسم الملف هو lesspipe.sh. إذا تم تثبيته باسم مختلف، فإن استدعاءه بدون وسيطة يعمل كمرشح مع ضبط LESSQUIET وتوقع إدخال من STDIN.
بعد ضبط المتغير البيئي كما هو موصوف أعلاه، يعرض less معلومات نصية لمجموعة واسعة من صيغ الملفات.
لا يُستدعى المرشح عادةً إذا تم توجيه الإدخال إلى less كما في
إذا فشلت الأوامر داخل lesspipe.sh، في بعض الحالات تُعرض رسائل الخطأ، هذا يُعتبر سلوكًا معيبًا ويجب الإبلاغ عنه.
لقمع الرسائل غير الرسمية في السطر الأول من مخرجات المرشح، يمكن ضبط المتغير البيئي LESSQUIET إلى قيمة غير فارغة.
لفصل المرشح مؤقتًا، يمكن إلحاق نقطتين باسم الملف. إذا كان اسم الملف يحتوي على نقطتين، فيجب استخدام علامة يساوي بدلاً من ذلك.
ملفات HTML و XML و Perl POD
تُعرض الملفات بصيغة html و perl pod دائمًا. لكن في بعض الأحيان يجب عرض المحتويات الأصلية للملف بدلاً من ذلك. كما ذُكر سابقًا، يمكن تحقيق ذلك بإلحاق نقطتين باسم الملف. إذا تبعه نوع الملف الصحيح (html، pod)، يمكن تلوين المخرجات (انظر أيضًا القسم أدناه).
إذا تم تثبيت الثنائي xmq، يُعرض xml بشكل مختلف، بحيث يُتعرف على بنية xml بشكل أفضل. يُحقق عرض مماثل لمحتويات html باستخدام xmq بإلحاق نقطتين باسم الملف. للحصول على محتويات ملف html الأصلية، يلزم نقطتان في هذه الحالة.
تلوين المخرجات
المرشح قادر على إجراء تمييز نحوي لمجموعة واسعة من أنواع الملفات. إذا تم تثبيته، يُستخدم nvimpager لتلوين المخرجات. إذا لم يكن، تُجرب bat/batcat و pygmentize و e2ansi-cat و source-highlight و vimcolor و code2color بدورها. لـ bat/batcat، يُضبط السمة إلى ansi والنمط إلى plain الذي يقترب من المخرجات غير المرشحة لـ less. يمكن تغيير هذه الإعدادات في ~/.config/bat/config أو بواسطة المتغيرات البيئية BAT_STYLE و BAT_THEME.
يمكن تلوين محتويات ملفات السجل إذا تم تثبيت برنامج tspin وتم إلحاق السلسلة ":log" باسم الملف أو كان امتداد الملف هو "log".
بين الملونات، يمكن فرض مفضل للتلوين بضبط المتغير البيئي LESSCOLORIZER إلى اسم الملون. لـ pygmentize و bat/batcat، يُسمح بإعدادات خيارات مقيدة كما يلي:
LESSCOLORIZER='pygmentize -O style=foo' # -P allowed as well LESSCOLORIZER='bat --style=foo --theme=bar' # default: theme=ansi, style=plain
يمكن إيقاف تظليل الصياغة بإلحاق نقطتين بعد اسم الملف، إذا كانت المخرجات ملونة. إذا اختيرت لغة خاطئة لتظليل الصياغة، فيمكن فرض لغة أخرى بإلحاق نقطتين ولاحقة باسم الملف. يمكن طباعة قائمة اللواحق واللغات المدعومة باستخدام أوامر الملون التالية:
bat --list-languages batcat --list-languages pygmentize -L lexers M-x -mode [TAB] within emacs source-highlight --lang-list code2color -h vimcolor -L (both for vimcolor and nvimpager)
في أنبوب لا يمكن استخدام تلك الطريقة. كمخرج يمكن إضافة وسيطة أخيرة تُفحص بواسطة lesspipe.sh. نقطتان مفردة (إلغاء المرشح) أو :extension (فرض لغة) ممكنة كما في مثال
عند استيفاء شروط تظليل الصياغة، تُلون قوائم الدلائل وقوائم محتويات ملفات tar أيضًا.
بما أن less يُستخدم كمتصفح مبدئي في برامج أخرى (مثل man وgit وperldoc) فقد يُشرك lesspipe.sh ويُغير مخرجات تلك البرامج.
مراقبة الملفات المتنامية
قد تُفقد القدرة على مراقبة الملفات المتنامية (المطلوبة عادة لملفات السجل مثل syslog) (باستخدام أمر F داخل less أو استدعاء less بالخيار +F) إذا خزّن lesspipe.sh الإدخال في ملف مؤقت لمزيد من المعالجة. يمكن إصلاح ذلك بإضافة نقطتين كوسيطة أخيرة لـ less مثل
استخدام متقدم
تسمح لك هذه النسخة من lesspipe.sh بعرض ملفات فردية محتواة في أرشيف ملفات، والذي قد يكون هو نفسه محتوى في أرشيف آخر.
الترميز لعرض الملفات في أرشيفات متعددة الملفات هو
مرة أخرى، لا تعمل هذه الطريقة لاستخراج وعرض الملفات إذا استُدعي less في أنبوب مخرجات وبدأ LESSOPEN بالحرفين |-. كما هو الحال مع تظليل الصياغة، الحل هو استخدام وسيطة ثانية تبدأ بنقطتين. عندها يُكتب الأمر أعلاه كالتالي
آلية الإكمال لمحتويات الأرشيف
باستخدام ملف lesscomplete المقدم (لـ zsh وbash) والملفات _less (لـ zsh) وless (لـ bash) المولدة أثناء التثبيت، يمكن تحقيق إكمال بعلامة التبويب للملفات في الأرشيفات. إدخال نقطتين (:) أو علامة مساواة (=) بعد اسم ملف أرشيف ثم الضغط على مفتاح التبويب يُشغل آلية الإكمال. يعمل هذا أيضًا في الأرشيفات المتسلسلة. تُثبت الملفات المطلوبة لخوارزمية الإكمال في الدلائل وفقًا للخيارات المتخذة أثناء التثبيت (نص configure).
يجب أن يكون ملف lesscomplete في أحد الدلائل المدرجة في $PATH والدالة _less لـ zsh في دليل مدرج بواسطة $fpath. يجب استيراد ملف less مع تعليمات الإكمال لـ bash داخل نص تهيئة bash، مثل ~/.bashrc. يمكن إضافة دلائل جديدة مثل ~/scripts و~/.fpath (لـ zsh) باستخدام الأوامر
في zsh، يجب استدعاء compinit وتعيين خيار menucomplete إذا لم يُفعل بعد. يمكن تحقيق ذلك بالأوامر
autoload compinit compinit -Uz setopt menucomplete
في bash، يجب تثبيت bash-completion (عادة حزمة بهذا الاسم)
الترشيح المعرف من قبل المستخدم
يمكن استبدال أو تحسين ترشيح lesspipe.sh بواسطة برنامج معرف من قبل المستخدم. يجب أن يُسمى هذا البرنامج إما .lessfilter (ويوضع في الدليل الرئيسي للمستخدم)، أو lessfilter (ويكون قابلاً للوصول من دليل مذكور في $PATH). يجب أن يكون قابلاً للتنفيذ وينتهي برمز خروج 0 إذا تم الترشيح داخل هذا السكريبت. وإلا، فإن رمز الخروج غير الصفري يعني أن الترشيح يُترك لـ lesspipe.sh.
يمكن استخدام هذه الآلية لإضافة ترشيح لتنسيقات جديدة أو مثلاً تثبيط الترشيح لأنواع ملفات معينة. يمكن أن يبدو نموذج .lessfilter كالتالي:
#!/usr/bin/env bash case $1 in *.md|*.MD|*.mkd|*.markdown|*.rst) # if the python module rich.markdown is not found then # the exit code is not null and lesspipe.sh is called python3 -m rich.markdown -c $1 ;; *.html|*.htm) # call your favorite html beautifier, cat -b is just a boring example cat -b $1 ;; *) exit 1;; esac
المؤلف
Wolfgang Friebel
التبليغ عن الأخطاء
أبلغ عن الأخطاء إلى <wp.friebel AT gmail DOT com>.
حقوق النسخ
حقوق
النشر © 2005-2026 Wolfgang Friebel
هذا برنامج
حر؛ انظر
المصدر
لشروط
النسخ. لا
يوجد أي
ضمان؛ ولا
حتى ضمان
قابلية
التسويق أو
الملاءمة
لغرض معين.
انظر أيضًا
less(1)
يمكن أيضًا العثور على وصف لـ lesspipe.sh في ملف README المضمن في حزمة الشيفرة المصدرية
ترجمة
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>
هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.
إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.
| أبريل 2026 | lesspipe.sh |