OnWorks Linux و Windows Online WorkStations

الشعار

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

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

جروف

groff هو مجموعة من البرامج التي تحتوي على تنفيذ GNU لـ troff. كما يتضمن أيضًا نصًا يستخدم لمحاكاة nroff وبقية عائلة roff أيضًا.


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

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

للحظة ، دعونا ننظر في صفحة الرجل المتواضعة. يعيش في / البيرة / حصة / رجل الدليل كملف GZIP ملف نصي مضغوط. إذا قمنا بفحص محتوياته غير المضغوطة ، فسنرى ما يلي (صفحة الدليل الخاصة بـ ls في القسم 1 هو مبين):


[me @ linuxbox ~] $ zcat /usr/share/man/man1/ls.1.gz | رئيس

. \ "لا تقم بتعديل هذا الملف! تم إنشاؤه بواسطة help2man 1.35.

.TH LS "1" "أبريل 2008" "GNU coreutils 6.10" "أوامر المستخدم"

اسم .SH

ls \ - محتويات دليل القائمة

.SH ملخص

.ب ليرة سورية

[\ fIOPTION \ fR] ... [\ fIFILE \ fR] ...

.SH الوصف

. \ "أضف أي وصف إضافي هنا

.PP

[me @ linuxbox ~] $ zcat /usr/share/man/man1/ls.1.gz | رئيس

. \ "لا تقم بتعديل هذا الملف! تم إنشاؤه بواسطة help2man 1.35.

.TH LS "1" "أبريل 2008" "GNU coreutils 6.10" "أوامر المستخدم"

اسم .SH

ls \ - محتويات دليل القائمة

.SH ملخص

.ب ليرة سورية

[\ fIOPTION \ fR] ... [\ fIFILE \ fR] ...

.SH الوصف

. \ "أضف أي وصف إضافي هنا

.PP


صورة

مقارنةً بصفحة الدليل في عرضها العادي ، يمكننا أن نبدأ في رؤية ارتباط بين لغة الترميز ونتائجها:


[me @ linuxbox ~] $ رجل ليرة لبنانية | رئيس

(1) أوامر المستخدم

ال اس (1)

[me @ linuxbox ~] $ رجل ليرة لبنانية | رئيس

(1) أوامر المستخدم


اسم

اسم


ls - قائمة محتويات الدليل

ls - قائمة محتويات الدليل


موجز

ls [OPTION] ... [FILE] ...

موجز

ls [OPTION] ... [FILE] ...


سبب الاهتمام هو أن صفحات الإنسان يتم تقديمها بواسطة جروف، وذلك باستخدام رجل- doc حزمة الماكرو. في الواقع ، يمكننا محاكاة رجل الأمر باستخدام خط الأنابيب التالي:



[me @ linuxbox ~] $ zcat /usr/share/man/man1/ls.1.gz | groff -mandoc -T أسكي | رئيس

LS (1) أوامر المستخدم LS (1)


اسم

ls - قائمة محتويات الدليل


موجز

ls [OPTION] ... [FILE] ...

[me @ linuxbox ~] $ zcat /usr/share/man/man1/ls.1.gz | groff -mandoc -T أسكي | رئيس

LS (1) أوامر المستخدم LS (1)


اسم

ls - قائمة محتويات الدليل


موجز

ls [OPTION] ... [FILE] ...


هنا نستخدم ملف جروف برنامج مع مجموعة الخيارات لتحديد ملف ماندوك حزمة الماكرو ومحرك الإخراج لـ ASCII. جروف يمكن أن تنتج مخرجات في عدة تنسيقات. إذا لم يتم تحديد تنسيق ، فسيتم إخراج PostScript افتراضيًا:



[me @ linuxbox ~] $ zcat /usr/share/man/man1/ls.1.gz | جروف -ماندوك | رئيس

٪! PS-Adobe-3.0

٪٪ المنشئ: groff الإصدار 1.18.1

٪٪ تاريخ الإنشاء: الخميس 5 فبراير 13:44:37 2009

٪٪ DocumentNeededResources: الخط Times-Roman

٪٪ + الخط Times-Bold

٪٪ + الخط Times-Italic

٪٪ DocumentSuppliedResources: procset grops 1.18 1

٪٪ الصفحات: 4

٪٪ PageOrder: تصاعدي

٪٪ الاتجاه: عمودي

[me @ linuxbox ~] $ zcat /usr/share/man/man1/ls.1.gz | جروف -ماندوك | رئيس

٪! PS-Adobe-3.0

٪٪ المنشئ: groff الإصدار 1.18.1

٪٪ تاريخ الإنشاء: الخميس 5 فبراير 13:44:37 2009

٪٪ DocumentNeededResources: الخط Times-Roman

٪٪ + الخط Times-Bold

٪٪ + الخط Times-Italic

٪٪ DocumentSuppliedResources: procset grops 1.18 1

٪٪ الصفحات: 4

٪٪ PageOrder: تصاعدي

٪٪ الاتجاه: عمودي


لقد ذكرنا بإيجاز PostScript في الفصل السابق ، وسوف نناقش ذلك مرة أخرى في الفصل التالي. PostScript هي لغة وصف صفحة تُستخدم لوصف محتويات صفحة مطبوعة إلى جهاز يشبه آلة الطباعة. إذا أخذنا إخراج الأمر الخاص بنا وقمنا بتخزينه في ملف (على افتراض أننا نستخدم سطح مكتب رسومي بامتداد الحاسوب الدليل):


[me @ linuxbox ~] $ zcat /usr/share/man/man1/ls.1.gz | جروف -ماندوك>

~ / سطح المكتب / foo.ps

[me @ linuxbox ~] $ zcat /usr/share/man/man1/ls.1.gz | جروف -ماندوك>

~ / سطح المكتب / foo.ps


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


صورة

الشكل 4: عرض إخراج PostScript باستخدام عارض صفحة في جنوم


ما نراه هو صفحة رجل تنضيد لطيف ls! في الواقع ، من الممكن تحويل ملف Post- Script إلى PDF (المحمولة وثيقة تنسيق) ملف بهذا الأمر:



[me @ linuxbox ~] $ ps2pdf ~ / Desktop / foo.ps ~ / Desktop / ls.pdf

[me @ linuxbox ~] $ ps2pdf ~ / Desktop / foo.ps ~ / Desktop / ls.pdf


ps2pdf البرنامج جزء من شبح الحزمة ، والتي يتم تثبيتها على معظم أنظمة Linux التي تدعم الطباعة.


صورة

نصيحة: غالبًا ما تتضمن أنظمة Linux العديد من برامج سطر الأوامر لتنسيق الملفات


صورة


صورة

التحويل. غالبًا ما يتم تسميتهم باستخدام اصطلاح شكل2شكل. جرب استخدام الأمر ls / usr / bin / * [[: alpha:]] 2 [[: alpha:]] * لتحديدهم. حاول أيضًا البحث عن البرامج المسماة شكلإلىشكل.


صورة

لتمريننا الأخير مع جروف، سنعيد زيارة صديقنا القديم توزيعات.txt مرة أخرى. هذه المرة ، سوف نستخدم ملف TBL البرنامج الذي يستخدم لتنسيق الجداول لتنضيد قائمة توزيعات Linux الخاصة بنا. للقيام بذلك ، سوف نستخدم ما لدينا في وقت سابق عطش نص برمجي لإضافة ترميز إلى دفق نصي سنقوم بتقديمه إليه جروف.

أولاً ، نحن بحاجة إلى تعديل عطش البرنامج النصي لإضافة عناصر الترميز الضرورية (تسمى طلبات in جروف) ذلك TBL يستوجب. باستخدام محرر نصوص ، سوف نتغير توزيعات الى الآتى \ الى القادم \ الى الم:


# sed script لإنتاج تقرير توزيعات Linux


1 أنا \

.TS \

مربع المركز \ cb ss \

cb cb cb \ ln c. \

تقرير توزيعات Linux \

=\

# sed script لإنتاج تقرير توزيعات Linux


1 أنا \

.TS \

مربع المركز \ cb ss \

cb cb cb \ ln c. \

تقرير توزيعات Linux \

=\


الاسم

_

التجريبية

مطلق سراحه\

الاسم

_


s/\([0-9]\{2\}\)\/\([0-9]\{2\}\)\/\([0-9]\{4\}\)$/\3-\1-\2/

$ أ \

.TE

s/\([0-9]\{2\}\)\/\([0-9]\{2\}\)\/\([0-9]\{4\}\)$/\3-\1-\2/

$ أ \

.TE


صورة

لاحظ أنه لكي يعمل البرنامج النصي بشكل صحيح ، يجب توخي الحذر لمعرفة أن الكلمات "تم إصدار الاسم" مفصولة بعلامات تبويب وليس مسافات. سنحفظ الملف الناتج كملف توزيعات tbl.sed. TBL يستخدم . TS و .TE طلبات لبدء وإنهاء الجدول. الصفوف التي تلي ملف . TS طلب تحديد الخصائص العامة للجدول والتي ، على سبيل المثال ، يتم توسيطها أفقيًا على الصفحة ومحاطة بمربع. تصف الأسطر المتبقية من التعريف تخطيط كل صف في الجدول. الآن ، إذا قمنا بتشغيل خط إنتاج تقريرنا مرة أخرى مع الجديد عطش البرنامج النصي ، سوف نحصل على ما يلي:


[me @ linuxbox ~] $ فرز -k 1,1،2 -k XNUMXn distros.txt | Sed -f التوزيعات- tbl

.sed | groff -t -T ascii 2> / dev / null

+ ------------------------------ +

| تقرير توزيعات Linux |

+ ------------------------------ +

[me @ linuxbox ~] $ فرز -k 1,1،2 -k XNUMXn distros.txt | Sed -f التوزيعات- tbl

.sed | groff -t -T ascii 2> / dev / null

+ ------------------------------ +

| تقرير توزيعات Linux |

+ ------------------------------ +



صورة

| صدر اسم الإصدار |

+ ------------------------------ +


| فيدورا

5

2006-03-20

|

| فيدورا

6

2006-10-24

|

| فيدورا

7

2007-05-31

|

| فيدورا

8

2007-11-08

|

| فيدورا

9

2008-05-13

|

| فيدورا

10

2008-11-25

|

| سوس

10.1

2006-05-11

|

| سوس

10.2

2006-12-07

|

| سوس

10.3

2007-10-04

|

| سوس

11.0

2008-06-19

|

| أوبونتو

6.06

2006-06-01

|

| أوبونتو

6.10

2006-10-26

|

| أوبونتو

7.04

2007-04-19

|

| أوبونتو

7.10

2007-10-18

|

| أوبونتو

8.04

2008-04-24

|

| أوبونتو

8.10

2008-10-30

|

+ ------------------------------ +


مضيفا -t الخيار ل جروف يوجهه إلى المعالجة المسبقة لدفق النص باستخدام TBL. وبالمثل ، فإن -T يستخدم الخيار للإخراج إلى ASCII بدلاً من وسيط الإخراج الافتراضي ، PostScript.

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



[me @ linuxbox ~] $ فرز -k 1,1،2 -k XNUMXn distros.txt | Sed -f التوزيعات- tbl

.sed | groff -t> ~ / Desktop / foo.ps

[me @ linuxbox ~] $ فرز -k 1,1،2 -k XNUMXn distros.txt | Sed -f التوزيعات- tbl

.sed | groff -t> ~ / Desktop / foo.ps


صورة

الشكل 5: عرض الجدول النهائي


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