FORTUNE(6)

الاسم
فورتشن - طباعة مثل عشوائي، مأمول أن يكون مثيرًا للاهتمام

موجز

  fortune [-acefilosw]
     [-n length]
     [-m pattern]
     [[n%] file/dir/all]

الوصف

عند تشغيل fortune بدون وسائط، يطبع مثلًا عشوائيًا. تُقسم الأمثال إلى عدة فئات، حيث تُقسم كل فئة إلى تلك التي قد تكون مسيئة وتلك التي ليست كذلك.

  الخيارات

الخيارات هي كما يلي:

-a
    اختر من جميع قوائم الأمثال، المسيئة وغير المسيئة. (انظر الخيار -o لمزيد من المعلومات حول الأمثال المسيئة.)

-c
    أظهر ملف الكوكي الذي جاء منه المثل.

-e
    اعتبر جميع ملفات الأمثال متساوية الحجم (انظر المناقشة أدناه حول الملفات المتعددة).

-f
    اطبع قائمة الملفات التي سيتم البحث فيها، لكن لا تطبع مثلًا.

-l
    أقوال طويلة فقط. انظر -n حول كيفية تعريف “طويل” بهذا المعنى.

-m نمط
    اطبع جميع الأمثال التي تطابق التعبير النمطي الأساسي نمط. يعتمد بناء هذه التعبيرات على كيفية تعريف نظامك لـ re_comp(3) أو regcomp(3)، لكن يجب أن يكون مشابهًا للبناء المستخدم في grep(1). تُخرج الأمثال إلى المخرجات القياسية، بينما تُطبع أسماء الملفات التي جاء منها كل مثل إلى الخطأ القياسي. يمكن إعادة توجيه أي منهما أو كليهما؛ إذا أُعيد توجيه المخرجات القياسية إلى ملف، تكون النتيجة ملف قاعدة بيانات أمثال صالحًا. إذا أُعيد توجيه الخطأ القياسي أيضًا إلى هذا الملف، تكون النتيجة صالحة ولكن ستكون هناك أمثال “مزيفة”، أي أسماء الملفات نفسها، بين قوسين. يمكن أن يكون هذا مفيدًا إذا كنت ترغب في إزالة المطابقات المجمعة من ملفاتها الأصلية، لأن كل سجل اسم ملف سيسبق السجلات من الملف الذي يسميه.

-n طول
    اضبط أطول طول للمثل (بالأحرف) يُعتبر “قصير” (المبدئي هو 160). جميع الأمثال الأطول من هذا تُعتبر “طويلة”. كن حذرًا! إذا ضبطت الطول قصيرًا جدًا وطلبت أمثالًا قصيرة، أو طويلًا جدًا وطلبت أمثالًا طويلة، يدخل فورتشن في حلقة تقليب لا نهائية.

-o اختر فقط من الأقوال المأثورة التي قد تكون مسيئة. يُتجاهل الخيار -o إذا تم تحديد دليل أمثال.
    من فضلك، من فضلك، من فضلك اطلب مثلًا قد يكون مسيئًا إذا وفقط إذا كنت تعتقد، في أعماق قلبك، أنك مستعد لأن تُهان. (وأنك ستتوقف فقط عن استخدام -o بدلاً من أن تسبب لنا الحزن بسببه، حسنًا؟) ... دعنا نضع في الاعتبار الفلسفة الحاكمة الأساسية للأخوية، كما لخصت بشكل جميل في هذه الكلمات: نؤمن بالضحك الصحي القوي - على حساب الجنس البشري بأكمله، إذا لزم الأمر. لزم الأمر. --H. ألين سميث، "نكات فظة"

-s
    أقوال مأثورة قصيرة فقط. انظر -n لمعرفة أي المقولات تُعتبر “قصيرة”.

-i
    تجاهل حالة الأحرف لأنماط -m.

-w
    انتظر قبل الإنهاء لمدة زمنية تُحسب من عدد الأحرف في الرسالة. هذا مفيد إذا نُفذ كجزء من إجراء الخروج لضمان إمكانية قراءة الرسالة قبل مسح الشاشة.

يمكن للمستخدم تحديد أقوال بديلة. يمكنك تحديد ملف محدد، أو دليل يحتوي على ملف واحد أو أكثر، أو الكلمة الخاصة all التي تعني استخدام جميع قواعد البيانات القياسية. يمكن أن يسبق أي من هذه النسبة المئوية، وهي رقم n بين 0 و100 شاملاً، متبوعاً بـ %. إذا حدث ذلك، سيكون هناك احتمال بنسبة n بالمئة أن يُختار مثل من ذلك الملف أو الدليل. إذا لم يصل مجموع النسب المئوية إلى 100، وكانت هناك مواصفات بدون نسب مئوية، فستنطبق النسبة المتبقية على تلك الملفات و/أو الأدلة، وفي هذه الحالة سيعتمد احتمال الاختيار من أحدها على أحجامها النسبية.

كمثال، بالنظر إلى قاعدتي بيانات funny وnot-funny، مع كون funny أكبر بمرتين (في عدد المقولات، وليس حجم الملف الخام)، قول

fortune funny not-funny

سيحصل لك على مقولات من funny في ثلثي المرات. الأمر

fortune 90% funny 10% not-funny

سيختار 90% من مقولاته من funny (“10% not-funny” غير ضرورية، لأن 10% هي كل ما تبقى).

الخيار -e يقول باعتبار جميع الملفات متساوية؛ وبالتالي

fortune -e funny not-funny

يكافئ

fortune 50% funny 50% not-funny

يدعم هذا القول أيضًا طريقة BSD لإلحاق “-o” بأسماء قواعد البيانات لتحديد المقولات الهجومية. ومع ذلك، هذه ليست طريقة تخزين fortune لها: تُخزن المقولات الهجومية في دليل منفصل بدون اللاحقة “-o”. سيُفترض أن الاسم البسيط (أي، ليس مساراً لملف أو دليل) الذي ينتهي بـ “-o” هو قاعدة بيانات هجومية، وسيُزال لاحقته ويُبحث عنه في الدليل الهجومي (حتى لو لم يُحدد أي من الخيارين -a أو -o). هذه الميزة ليست فقط للتوافق مع الإصدارات السابقة، ولكن أيضًا للسماح للمستخدمين بالتمييز بين قواعد البيانات غير الهجومية والهجومية التي تحمل نفس الاسم.

على سبيل المثال، بافتراض وجود قاعدة بيانات باسم definitions في كل من المجموعات غير الهجومية والهجومية المحتملة، فإن الأمر التالي سيختار تعريفاً غير هجومي 90% من الوقت، وتعريفاً هجومياً محتملاً للـ 10% المتبقية:

fortune 90% definitions definitions-o

الملفات

ملاحظة: هذه هي المبدئيات كما عُرفت في وقت التجميع.

/usr/share/fortune دليل المقولات غير الهجومية.

/usr/share/fortune/off دليل المقولات الهجومية.

إذا كانت مجموعة معينة من المقولات غير مرغوب فيها بشكل خاص، فهناك حل سهل: احذف ملف .dat المرتبط. هذا يترك البيانات سليمة، في حال رغب في الملف لاحقًا، ولكن بما أن fortune لم يعد يجد ملف المؤشرات، فإنه يتجاهل الملف النصي.

العلل

تقسيم المقولات إلى مسيئة وغير مسيئة بواسطة الدليل، بدلاً من استخدام اللاحقة `-o' في اسم الملف، ليس متوافقًا بنسبة 100% مع fortune الأصلي من BSD. على الرغم من أن اللاحقة `-o' تُعرف كإشارة إلى قاعدة بيانات مسيئة، إلا أن ملفات قاعدة البيانات المسيئة لا تزال بحاجة إلى أن تكون في دليل منفصل. الحل البديل، بالطبع، هو نقل ملفات `-o' إلى الدليل المسيء (مع أو بدون إعادة تسمية)، واستخدام الخيار -a.

تمت مهاجمة قواعد بيانات fortune المقدمة، من أجل تصحيح الأخطاء الإملائية والنحوية، وبشكل خاص لتقليل التكرار والتكرار والتكرار. ولكن بشكل خاص لتجنب التكرارية. لم يكن هذا نجاحًا كاملاً. في هذه العملية، ربما فقدت بعض المقولات أيضًا.

قواعد بيانات fortune مقسمة الآن إلى عدد أكبر من الملفات الأصغر، بعضها منظم حسب التنسيق (شعر، تعريفات)، وبعضها حسب المحتوى (دين، سياسة). توجد ملفات متوازية في الدليل الرئيسي وفي دليل الملفات المسيئة (مثل fortunes/definitions و fortunes/off/definitions). ليست كل المقولات التي يحتمل أن تكون مسيئة موجودة في ملفات المقولات المسيئة، ولا كل المقولات في الملفات المسيئة يحتمل أن تكون مسيئة، على الأرجح، على الرغم من بذل محاولة قوية لتحقيق اتساق أكبر. أيضًا، قد يتم تقسيم أفضل.

التاريخ

هذا الإصدار من fortune مبني على NetBSD fortune 1.4، ولكن مع عدد من إصلاحات الأخطاء والتحسينات.

التنسيق الأصلي لـ fortune/strfile استخدم ملفًا واحدًا؛ قرأ strfile الملف النصي وحوله إلى سلاسل مفصولة بقيم خالية، والتي تم تخزينها بعد جدول المؤشرات في ملف .dat. بحلول NetBSD fortune 1.4، تغير هذا إلى ملفين منفصلين: ملف .dat كان فقط الرأس (جدول المؤشرات، بالإضافة إلى الأعلام؛ انظر strfile.h)، وتركت السلاسل النصية في ملفها الخاص. المشكلة المحتملة في هذا هي أن الملف النصي وملف الرأس قد يصبحان غير متزامنين، لكن الميزة هي أن الملفات النصية يمكن تحريرها بسهولة دون اللجوء إلى unstr، وهناك توفير محتمل في مساحة القرص (على افتراض أن مسؤول النظام احتفظ بكل من ملف .dat مع السلاسل والملف النصي).

افترضت العديد من التحسينات التي تم إجراؤها على إصدار NetBSD نظام لينكس، وبالتالي تسببت في فشله تحت منصات أخرى، بما في ذلك BSD. منذ ذلك الحين، تم جعل الكود المصدري أكثر عمومية، ويعمل حاليًا على SunOS 4.x بالإضافة إلى لينكس، مع توقع دعم المزيد من المنصات في المستقبل. لاحظ أنه تم اكتشاف وإصلاح بعض الأخطاء عن غير قصد خلال هذه العملية.

بالتخمين، عمل عدد كبير جدًا من الأشخاص على هذا البرنامج، العديد منهم دون ترك إسنادات.

انظر أيضًا

re_comp(3)، regcomp(3)، strfile(1)، unstr(1)

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

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

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