LESSOPEN(1)

الاسم
lessfile, lesspipe - "معالج إدخال مسبق" لـ less.

موجز
lessfile, lesspipe

الوصف
توثق صفحة الدليل هذه بإيجاز أوامر lessfile و lesspipe. كتبت صفحة الدليل هذه لتوزيعة Debian GNU/Linux لأن نصوص المعالج المسبق للإدخال مقدمة من Debian GNU/Linux وليست جزءاً من البرنامج الأصلي.

lessfile و lesspipe هما برنامجان يمكن استخدامهما لتعديل طريقة عرض محتويات ملف في less. معنى هذا أن less يمكنه آلياً فتح ملفات tar، وفك ضغط ملفات gzipped، وحتى عرض شيء معقول لملفات الرسوميات.

سيرمي lesspipe المحتويات/المعلومات على STDOUT وسيقرأها less فور ورودها. يعني هذا أنك لا تضطر للانتظار حتى ينتهي فك الترميز قبل أن يظهر لك less الملف. يعني هذا أيضًا أنك ستحصل على 'بايت N' بدلاً من N% كموقع ملفك. يمكنك التوجه إلى النهاية والعودة للحصول على N% لكن ذلك يعني أن عليك انتظار انتهاء الأنبوب.

سيرمي lessfile المحتويات/المعلومات على ملف سيقرأه less بعد ذلك. بعد الانتهاء، سيحذف lessfile الملف. يعني هذا أن العملية يجب أن تنتهي قبل أن تراها، لكنك تحصل على نسب مئوية جميلة (N%) مسبقاً.

الاستخدام
فقط ضع أحد الأمرين التاليين في سكريبت تسجيل الدخول الخاص بك (مثلاً ~/.bash_profile):

  eval "$(lessfile)"

أو

  eval "$(lesspipe)"

التعرف على أنواع الملفات
يتم التعرف على أنواع الملفات من خلال امتداداتها. هذه قائمة بالامتدادات المدعومة حالياً (مجمعة حسب البرامج التي تعالجها):

  *.a
  *.arj
  *.tar.bz2
  *.bz
  *.bz2
  *.deb, *.udeb, *.ddeb
  *.doc
  *.egg
  *.gif, *.jpeg, *.jpg, *.pcd, *.png, *.tga, *.tiff, *.tif
  *.iso, *.raw, *.bin
  *.lha, *.lzh
  *.tar.lz, *.tlz
  *.lz
  *.7z
  *.pdf
  *.rar, *.r[0-9][0-9]
  *.rpm
  *.tar.gz, *.tgz, *.tar.z, *.tar.dz
  *.gz, *.z, *.dz
  *.tar
  *.tar.xz, *.xz
  *.whl
  *.jar, *.war, *.xpi, *.zip
  *.zoo
  *.tar.zst, *.tzst
  *.zst

مرشحات معرفة من قبل المستخدم
من الممكن توسيع واستبدال معالج الإدخال المبدئي lesspipe و lessfile إذا كانت لديك متطلبات متخصصة. أنشئ برنامجاً قابلاً للتنفيذ باسم .lessfilter وضعه في دليلك الرئيسي. يمكن أن يكون هذا سكريبت شل أو برنامجاً ثنائياً.

من المهم أن يعيد هذا البرنامج رمز الخروج الصحيح: أعد 0 إذا كان مرشحك يعالج الإدخال، أعد 1 إذا كان يجب على المرشح القياسي lesspipe/lessfile معالجة الإدخال.

هنا سكريبت مثال:

  #!/bin/sh

  case "$1" in
      *.extension)
          extension-handler "$1"
          ;;
      *)
          # We don't handle this format.
          exit 1
  esac

  # No further processing by lesspipe necessary
  exit 0

الملفات

~/.lessfilter
    ملف قابل للتنفيذ يمكنه القيام بمعالجة معرفة من قبل المستخدم. انظر قسم المرشحات المعرفة من قبل المستخدم لمزيد من المعلومات.

العلل

أحياناً، لا يعرض less محتويات الملف الذي تريد مشاهدته بل المخرجات التي تنتجها سكريبتات تسجيل الدخول الخاصة بك (~/.bashrc أو ~/.bash_profile). يحدث هذا لأن less يستخدم شلتك الحالية لتشغيل مرشح lesspipe. يبحث Bash أولاً عن المتغير $BASH_ENV في البيئة ويوسع قيمته ويستخدم القيمة الموسعة كاسم ملف لقراءته وتنفيذه. إذا أنتج هذا الملف أي مخرجات سيعرضها less. طريقة لحل هذه المشكلة هي وضع الأسطر التالية في أعلى سكريبت تسجيل الدخول الذي ينتج مخرجات:

  if [ -z "$PS1" ]; then
      exit
  fi

يختبر هذا ما إذا كان متغير الموجه $PS1 معينًا، وإذا لم يكن (وهو الحال للأصداف غير التفاعلية) فإنه يخرج من النص البرمجي.

انظر أيضًا
less(1)

المؤلف
كتب صفحة الدليل هذه Thomas Schoepf <schoepf@debian.org>، لنظام Debian GNU/Linux (ولكن قد يستخدمها آخرون). نُسخ معظم النص من وصف كتبه Darren Stalder <torin@daft.com>.

ترجمة
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 (https://www.gnu.org/licenses/gpl-3.0.html) أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.