OnWorks Linux و Windows Online WorkStations

الشعار

استضافة مجانية على الإنترنت لمحطات العمل

<السابق | المحتويات | التالي>

fmt - منسق نص بسيط

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

للتوضيح ، سنحتاج إلى بعض النصوص. دعنا نرفع البعض من معاهدة المواد الانشطارية صفحة المعلومات:


يقرأ "fmt" من وسيطات FILE المحددة (أو الإدخال القياسي إذا لم يتم توفير أي منها) ، ويكتب إلى الإخراج القياسي.


بشكل افتراضي ، تكون الأسطر الفارغة والمسافات بين الكلمات والمسافات البادئة

يقرأ "fmt" من وسيطات FILE المحددة (أو الإدخال القياسي إذا لم يتم توفير أي منها) ، ويكتب إلى الإخراج القياسي.


بشكل افتراضي ، تكون الأسطر الفارغة والمسافات بين الكلمات والمسافات البادئة


محفوظة في الإخراج ؛ لم يتم ربط سطور الإدخال المتتالية بمسافات بادئة مختلفة ؛ يتم توسيع علامات التبويب على الإدخال وتقديمها عند الإخراج.


يفضل "fmt" كسر الأسطر في نهاية الجملة ، ويحاول تجنب فواصل الأسطر بعد الكلمة الأولى من الجملة أو قبل الكلمة الأخيرة من الجملة. يتم تعريف "فاصل الجملة" على أنه إما نهاية فقرة أو كلمة تنتهي بأي من ".؟!" ، متبوعة بمسافتين أو نهاية السطر ، مع تجاهل أي أقواس أو علامات اقتباس متداخلة. مثل TeX ، يقرأ fmt "فقرات" كاملة قبل اختيار فواصل الأسطر ؛ الخوارزمية هي البديل عن تلك التي قدمها دونالد كنوث ومايكل ف.بلاس في "كسر الفقرات في السطور" ،

"البرمجيات - الممارسة والخبرة" 11 ، 11 (نوفمبر 1981) ، 1119-1184.

محفوظة في الإخراج ؛ لم يتم ربط سطور الإدخال المتتالية بمسافات بادئة مختلفة ؛ يتم توسيع علامات التبويب على الإدخال وتقديمها عند الإخراج.


يفضل "fmt" كسر الأسطر في نهاية الجملة ، ويحاول تجنب فواصل الأسطر بعد الكلمة الأولى من الجملة أو قبل الكلمة الأخيرة من الجملة. يتم تعريف "فاصل الجملة" على أنه إما نهاية فقرة أو كلمة تنتهي بأي من ".؟!" ، متبوعة بمسافتين أو نهاية السطر ، مع تجاهل أي أقواس أو علامات اقتباس متداخلة. مثل TeX ، يقرأ fmt "فقرات" كاملة قبل اختيار فواصل الأسطر ؛ الخوارزمية هي البديل عن تلك التي قدمها دونالد كنوث ومايكل ف.بلاس في "كسر الفقرات في السطور" ،

"البرمجيات - الممارسة والخبرة" 11 ، 11 (نوفمبر 1981) ، 1119-1184.


سنقوم بنسخ هذا النص في محرر النصوص الخاص بنا وحفظ الملف بتنسيق fmt- info.txt. الآن ، لنفترض أننا أردنا إعادة تنسيق هذا النص ليناسب عمودًا بعرض خمسين حرفًا. يمكننا القيام بذلك عن طريق معالجة الملف باستخدام معاهدة المواد الانشطارية و -w الخيار:


[me @ linuxbox ~] $ fmt -w 50 fmt-info.txt | رئيس

يقرأ "fmt" من وسيطات FILE المحددة (أو الإدخال القياسي إذا

لا شيء) ، ويكتب إلى الإخراج القياسي.


بشكل افتراضي ، تكون الأسطر الفارغة والمسافات بين الكلمات والمسافات البادئة

محفوظة في الإخراج ؛ لم يتم ربط سطور الإدخال المتتالية بمسافات بادئة مختلفة ؛ يتم توسيع علامات التبويب على الإدخال وتقديمها عند الإخراج.

[me @ linuxbox ~] $ fmt -w 50 fmt-info.txt | رئيس

يقرأ "fmt" من وسيطات FILE المحددة (أو الإدخال القياسي إذا

لا شيء) ، ويكتب إلى الإخراج القياسي.


بشكل افتراضي ، تكون الأسطر الفارغة والمسافات بين الكلمات والمسافات البادئة

محفوظة في الإخراج ؛ لم يتم ربط سطور الإدخال المتتالية بمسافات بادئة مختلفة ؛ يتم توسيع علامات التبويب على الإدخال وتقديمها عند الإخراج.


حسنًا ، هذه نتيجة محرجة. ربما يجب أن نقرأ هذا النص بالفعل ، لأنه يشرح ما يجري:

بشكل افتراضي ، يتم الاحتفاظ بالأسطر الفارغة والمسافات بين الكلمات والمسافات البادئة في الإخراج ؛ لم يتم ربط سطور الإدخال المتتالية بمسافات بادئة مختلفة ؛ يتم توسيع علامات التبويب على الإدخال وتقديمها عند الإخراج.

وبالتالي، معاهدة المواد الانشطارية يحافظ على المسافة البادئة للسطر الأول. لحسن الحظ، معاهدة المواد الانشطارية يوفر خيارًا لتصحيح هذا:



[me @ linuxbox ~] $ FMT -CW 50 FMT-info.txt

يقرأ "fmt" من وسيطات FILE المحددة (أو الإدخال القياسي إذا لم يتم توفير أي منها) ، ويكتب إلى الإخراج القياسي.

[me @ linuxbox ~] $ FMT -CW 50 FMT-info.txt

يقرأ "fmt" من وسيطات FILE المحددة (أو الإدخال القياسي إذا لم يتم توفير أي منها) ، ويكتب إلى الإخراج القياسي.


بشكل افتراضي ، يتم الاحتفاظ بالأسطر الفارغة والمسافات بين الكلمات والمسافات البادئة في الإخراج ؛ لم يتم ربط سطور الإدخال المتتالية بمسافات بادئة مختلفة ؛ يتم توسيع علامات التبويب على الإدخال وتقديمها عند الإخراج.


يفضل "fmt" كسر الأسطر في نهاية الجملة ، ويحاول تجنب فواصل الأسطر بعد الكلمة الأولى من الجملة أو قبلها.

الكلمة الأخيرة من الجملة. يتم تعريف "فاصل الجملة" على أنه إما نهاية فقرة أو كلمة تنتهي بأي من ".؟!" ، متبوعة بمسافتين أو نهاية السطر ، مع تجاهل أي

الأقواس أو علامات الاقتباس المتداخلة. مثل TeX ،

يقرأ "fmt" "فقرات" كاملة قبل اختيار فواصل الأسطر ؛ الخوارزمية هي البديل من

التي قدمها دونالد كنوث ومايكل ف.بلاس في "كسر الفقرات في السطور" ،

"البرمجيات - الممارسة والخبرة" 11 ، 11

(نوفمبر 1981) ، 1119-1184.

بشكل افتراضي ، يتم الاحتفاظ بالأسطر الفارغة والمسافات بين الكلمات والمسافات البادئة في الإخراج ؛ لم يتم ربط سطور الإدخال المتتالية بمسافات بادئة مختلفة ؛ يتم توسيع علامات التبويب على الإدخال وتقديمها عند الإخراج.


يفضل "fmt" كسر الأسطر في نهاية الجملة ، ويحاول تجنب فواصل الأسطر بعد الكلمة الأولى من الجملة أو قبلها.

الكلمة الأخيرة من الجملة. يتم تعريف "فاصل الجملة" على أنه إما نهاية فقرة أو كلمة تنتهي بأي من ".؟!" ، متبوعة بمسافتين أو نهاية السطر ، مع تجاهل أي

الأقواس أو علامات الاقتباس المتداخلة. مثل TeX ،

يقرأ "fmt" "فقرات" كاملة قبل اختيار فواصل الأسطر ؛ الخوارزمية هي البديل من

التي قدمها دونالد كنوث ومايكل ف.بلاس في "كسر الفقرات في السطور" ،

"البرمجيات - الممارسة والخبرة" 11 ، 11

(نوفمبر 1981) ، 1119-1184.


أفضل بكثير. عن طريق إضافة -c الخيار ، لدينا الآن النتيجة المرجوة.

لدى fmt بعض الخيارات المثيرة للاهتمام:


جدول 21-3: خيارات fmt


وصف الخيار

وصف الخيار

-c تعمل في هامش التاج الوضع. هذا يحافظ على المسافة البادئة لأول سطرين من الفقرة. يتم محاذاة الأسطر اللاحقة مع المسافة البادئة للسطر الثاني.


صورة

-p سلسلة فقط تنسيق تلك الأسطر التي تبدأ بالبادئة سلسلة. بعد التنسيق ، محتويات سلسلة مسبوقة بكل سطر تمت إعادة تنسيقه. يمكن استخدام هذا الخيار لتنسيق النص في تعليقات التعليمات البرمجية المصدر. على سبيل المثال ، يمكن تنسيق أي لغة برمجة أو ملف تهيئة يستخدم الحرف "#" لتحديد تعليق من خلال تحديد -p "#" حتى يتم تنسيق التعليقات فقط. انظر المثال أدناه.


صورة

-s وضع الانقسام فقط. في هذا الوضع ، سيتم تقسيم الخطوط فقط لتناسب عرض العمود المحدد. لن يتم ضم الأسطر القصيرة لملء الأسطر. هذا الوضع مفيد عند تنسيق نص مثل التعليمات البرمجية حيث يكون الانضمام غير مرغوب فيه.


صورة

-u أداء تباعد منتظم. سيؤدي هذا إلى تطبيق "الآلة الكاتبة-


صورة


صورة

على غرار "تنسيق النص. هذا يعني مسافة واحدة بين الكلمات ومسافتين بين الجمل. هذا الوضع مفيد لإزالة "التبرير" ، أي النص الذي تم تبطينه بمسافات لفرض المحاذاة على كل من الهامش الأيمن والأيسر.


صورة

-w عرض تنسيق النص ليلائم العمود عرض الأحرف واسعة. الافتراضي هو 75 حرفًا. ملحوظة: معاهدة المواد الانشطارية في الواقع يقوم بتنسيق الخطوط الأقصر قليلاً من العرض المحدد للسماح بموازنة الخطوط.


صورة


-p الخيار مثير للاهتمام بشكل خاص. بواسطته ، يمكننا تنسيق الأجزاء المحددة من الملف ، بشرط أن تبدأ جميع الأسطر المراد تنسيقها بنفس تسلسل الأحرف. تستخدم العديد من لغات البرمجة علامة الجنيه (#) للإشارة إلى بداية التعليق وبالتالي يمكن تنسيقها باستخدام هذا الخيار. لنقم بإنشاء ملف يحاكي برنامجًا يستخدم التعليقات:



[me @ linuxbox ~] $ قطة> fmt-code.txt

# يحتوي هذا الملف على رمز مع تعليقات.


# هذا الخط تعليق.

# متبوعًا بخط تعليق آخر.

# وآخر.


هذا ، من ناحية أخرى ، هو سطر من التعليمات البرمجية. وسطر آخر من التعليمات البرمجية.

وآخر.

[me @ linuxbox ~] $ قطة> fmt-code.txt

# يحتوي هذا الملف على رمز مع تعليقات.


# هذا الخط تعليق.

# متبوعًا بخط تعليق آخر.

# وآخر.


هذا ، من ناحية أخرى ، هو سطر من التعليمات البرمجية. وسطر آخر من التعليمات البرمجية.

وآخر.


يحتوي ملف العينة الخاص بنا على تعليقات تبدأ بالسلسلة "#" (a # متبوعة بمسافة) وسطر "التعليمات البرمجية" التي لا تفعل ذلك. الآن ، باستخدام معاهدة المواد الانشطارية، يمكننا تنسيق التعليقات وترك الكود كما هو:



[me @ linuxbox ~] $ fmt -w 50 -p '#' fmt-code.txt

# يحتوي هذا الملف على رمز مع تعليقات.


# هذا الخط تعليق. تلاه آخر

سطر تعليق واحد. وآخر.


هذا ، من ناحية أخرى ، هو سطر من التعليمات البرمجية. وسطر آخر من التعليمات البرمجية.

وآخر.

[me @ linuxbox ~] $ fmt -w 50 -p '#' fmt-code.txt

# يحتوي هذا الملف على رمز مع تعليقات.


# هذا الخط تعليق. تلاه آخر

سطر تعليق واحد. وآخر.


هذا ، من ناحية أخرى ، هو سطر من التعليمات البرمجية. وسطر آخر من التعليمات البرمجية.

وآخر.


لاحظ أنه تم ضم أسطر التعليق المجاورة ، بينما يتم الاحتفاظ بالأسطر الفارغة والأسطر التي لا تبدأ بالبادئة المحددة.


أفضل الحوسبة السحابية لنظام التشغيل في OnWorks: