OnWorks Linux و Windows Online WorkStations

الشعار

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

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

nl - خطوط الأرقام

nl البرنامج هو أداة غامضة إلى حد ما تستخدم لأداء مهمة بسيطة. انها ترقيم الخطوط. في أبسط استخدام له ، فإنه يشبه القط -n:


صورة

[me @ linuxbox ~] $ nl distros.txt | رئيس


1

SUSE

10.2

12/07/2006

2

فيدورا

10

11/25/2008

3

SUSE

11.0

06/19/2008

4

أوبونتو

8.04

04/24/2008

5

فيدورا

8

11/08/2007

6

SUSE

10.3

10/04/2007

7

أوبونتو

6.10

10/26/2006


8

فيدورا

7

05/31/2007

9

أوبونتو

7.10

10/18/2007

10

أوبونتو

7.04

04/19/2007


اعجاب قط, nl يمكن قبول ملفات متعددة كوسيطات سطر أوامر ، أو إدخال معياري. لكن، nl لديه عدد من الخيارات ويدعم شكلاً بدائيًا من الترميز لتقليل أنواع الترقيم الأكثر تعقيدًا.

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


الجدول 21-1: توصيف nl


معنى الترميز

معنى الترميز

\: \: \: بداية رأس الصفحة المنطقية


صورة

\: \: بداية نص الصفحة المنطقية


صورة

\: بداية تذييل الصفحة المنطقية


صورة


يجب أن يظهر كل عنصر من عناصر الترميز أعلاه بمفرده في السطر الخاص به. بعد معالجة عنصر الترميز ، nl يحذفه من دفق النص.

فيما يلي الخيارات الشائعة لـ nl:


الجدول 21-2: خيارات nl الشائعة


معنى الخيار

معنى الخيار

-b نمط قم بتعيين ترقيم النص إلى نمط، حيث نمط هو واحد مما يلي:

أ = عدد جميع الأسطر

t = عدد الأسطر غير الفارغة فقط. هذا هو الافتراضي.

ن = لا شيء

pREGEXP = عدد الأسطر المطابقة للتعبير العادي الأساسي فقط

التعبير العادي.


صورة

-f نمط تعيين ترقيم التذييل إلى نمط. الافتراضي هو n (بلا).


صورة

-h نمط تعيين رأس الترقيم إلى نمط. الافتراضي هو n (بلا).


صورة


صورة

-i عدد قم بتعيين زيادة ترقيم الصفحات إلى عدد. الافتراضي واحد.


صورة

-n شكل يضبط تنسيق الترقيم على شكل، حيث يكون التنسيق:

ln = يسار مضبوط ، بدون أصفار بادئة.

rn = حق مبرر ، بدون أصفار بادئة. هذا هو الافتراضي.

rz = مبرر لليمين ، بأصفار بادئة.


صورة

-p لا تقم بإعادة تعيين ترقيم الصفحات في بداية كل صفحة منطقية.


صورة

-s سلسلة أضف سلسلة إلى نهاية كل رقم سطر لإنشاء فاصل.

الافتراضي هو حرف جدولة واحد.


صورة

-v عدد قم بتعيين رقم السطر الأول لكل صفحة منطقية على عدد. الافتراضي واحد.


صورة

-w عرض قم بتعيين عرض حقل رقم السطر على عرض. الافتراضي هو 6.


صورة


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


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


1 أنا \

\\: \\: \\: \

\

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

\

الاسم Ver. مطلق سراحه\

---- -------- \

\\:

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

$ أ \

\\: \

\

نهاية التقرير

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


1 أنا \

\\: \\: \\: \

\

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

\

الاسم Ver. مطلق سراحه\

---- -------- \

\\:

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

$ أ \

\\: \

\

نهاية التقرير


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

بعد ذلك ، سنقوم بإنتاج تقريرنا المُحسّن عن طريق الدمج sort, عطشو nl:



صورة

[me @ linuxbox ~] $ فرز -k 1,1،2 -k XNUMXn distros.txt | sed -f distros-nl.s ed | nl


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


الاسم

فير.

تاريخ الطرح في الأسواق

----

----

--------


1

فيدورا

5

2006-03-20

2

فيدورا

6

2006-10-24

3

فيدورا

7

2007-05-31

4

فيدورا

8

2007-11-08

5

فيدورا

9

2008-05-13

6

فيدورا

10

2008-11-25

7

SUSE

10.1

2006-05-11

8

SUSE

10.2

2006-12-07

9

SUSE

10.3

2007-10-04

10

SUSE

11.0

2008-06-19

11

أوبونتو

6.06

2006-06-01

12

أوبونتو

6.10

2006-10-26

13

أوبونتو

7.04

2007-04-19

14

أوبونتو

7.10

2007-10-18

15

أوبونتو

8.04

2008-04-24

16

أوبونتو

8.10

2008-10-30


نهاية التقرير


تقريرنا هو نتيجة خط أنابيبنا للأوامر. أولاً ، نقوم بفرز القائمة حسب اسم التوزيع والإصدار (الحقول 1 و 2) ، ثم نقوم بمعالجة النتائج باستخدام عطش، مع إضافة رأس المرجع (بما في ذلك ترميز الصفحة المنطقية لـ nl) والتذييل. أخيرًا ، نقوم بمعالجة النتيجة باستخدام nl، والتي ، بشكل افتراضي ، ترقيم فقط سطور دفق النص التي تنتمي إلى قسم النص الأساسي للصفحة المنطقية.

يمكننا تكرار الأمر وتجربة خيارات مختلفة لـ nl. بعض الأشياء المثيرة للاهتمام هي:



nl -n rz

nl -n rz


و



nl -w 3 -s "

nl -w 3 -s "


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