เวิร์กสเตชันออนไลน์ของ OnWorks Linux และ Windows

โลโก้

ฟรีโฮสติ้งออนไลน์สำหรับเวิร์กสเตชัน

<ก่อนหน้านี้ | Contents | ถัดไป>

nl – เส้นจำนวน

การขอ nl โปรแกรมเป็นเครื่องมือที่ค่อนข้างลึกลับที่ใช้ในการทำงานง่ายๆ เป็นเส้นตัวเลข ในการใช้งานที่ง่ายที่สุด มันคล้ายกับ แมว -n:


ภาพ

[me@linuxbox ~]$ nl distros.txt | ศีรษะ


1

SUSE

10.2

12/07/2006

2

Fedora

10

11/25/2008

3

SUSE

11.0

06/19/2008

4

อูบุนตู

8.04

04/24/2008

5

Fedora

8

11/08/2007

6

SUSE

10.3

10/04/2007

7

อูบุนตู

6.10

10/26/2006


8

Fedora

7

05/31/2007

9

อูบุนตู

7.10

10/18/2007

10

อูบุนตู

7.04

04/19/2007


Like แมว, nl สามารถรับไฟล์หลายไฟล์เป็นอาร์กิวเมนต์บรรทัดคำสั่งหรืออินพุตมาตรฐานได้ อย่างไรก็ตาม, nl มีตัวเลือกมากมายและสนับสนุนรูปแบบการมาร์กอัปแบบดั้งเดิมจนถึงการนับประเภทที่ซับซ้อนมากขึ้น

nl รองรับแนวคิดที่เรียกว่า "หน้าตรรกะ" เมื่อกำหนดหมายเลข ซึ่งช่วยให้ nl รีเซ็ต (เริ่มต้นใหม่) ลำดับตัวเลขเมื่อกำหนดหมายเลข การใช้ตัวเลือกทำให้สามารถตั้งค่าหมายเลขเริ่มต้นเป็นค่าเฉพาะและรูปแบบได้ในระดับที่จำกัด เพจแบบลอจิคัลยังถูกแบ่งออกเป็นส่วนหัว เนื้อหา และส่วนท้าย ภายในแต่ละส่วนเหล่านี้ การกำหนดหมายเลขบรรทัดอาจถูกรีเซ็ตและ/หรือกำหนดรูปแบบที่แตกต่างกัน หากให้ nl หลายไฟล์ จะถือว่าไฟล์นั้นเป็นสตรีมข้อความเดียว ส่วนต่างๆ ในสตรีมข้อความระบุด้วยการมีมาร์กอัปที่ดูแปลกตาซึ่งเพิ่มเข้ามาในข้อความ:


ตารางที่ 21-1: nl Markup


ความหมายของมาร์กอัป

ความหมายของมาร์กอัป

- จุดเริ่มต้นของส่วนหัวของหน้าตรรกะ


ภาพ

\:\: จุดเริ่มต้นของเนื้อความของหน้าตรรกะ


ภาพ

\: จุดเริ่มต้นของส่วนท้ายของหน้าตรรกะ


ภาพ


องค์ประกอบมาร์กอัปแต่ละรายการข้างต้นต้องปรากฏตามลำพังในบรรทัดของตนเอง หลังจากประมวลผลองค์ประกอบมาร์กอัปแล้ว nl ลบออกจากสตรีมข้อความ

นี่คือตัวเลือกทั่วไปสำหรับ nl:


ตาราง 21-2: ตัวเลือก nl ทั่วไป


ตัวเลือกความหมาย

ตัวเลือกความหมาย

-b สไตล์ ตั้งค่าหมายเลขร่างกายเป็น สไตล์ที่นี่มี สไตล์ เป็นหนึ่งในสิ่งต่อไปนี้:

a = ตัวเลขทุกบรรทัด

t = ตัวเลขเฉพาะบรรทัดที่ไม่เว้นว่าง นี่คือค่าเริ่มต้น

น = ไม่มี

pregexp = เส้นตัวเลขเท่านั้นที่ตรงกับนิพจน์ทั่วไปพื้นฐาน

regexp


ภาพ

-f สไตล์ กำหนดหมายเลขท้ายกระดาษเป็น สไตล์. ค่าเริ่มต้นคือ n (ไม่มี)


ภาพ

-h สไตล์ กำหนดหมายเลขส่วนหัวเป็น สไตล์. ค่าเริ่มต้นคือ n (ไม่มี)


ภาพ


ภาพ

-i จำนวน ตั้งค่าการเพิ่มเลขหน้าเป็น จำนวน. ค่าเริ่มต้นคือหนึ่ง


ภาพ

-n รูป ตั้งค่ารูปแบบการเรียงลำดับเลขเป็น รูปโดยที่รูปแบบคือ:

ln = ชิดซ้ายโดยไม่มีศูนย์นำหน้า

rn = ถูกทำให้ถูกต้อง ไม่มีศูนย์นำหน้า นี่คือค่าเริ่มต้น

rz = ถูกทำให้ถูกต้อง โดยมีศูนย์นำหน้า


ภาพ

-p อย่ารีเซ็ตการกำหนดหมายเลขหน้าที่จุดเริ่มต้นของแต่ละหน้าตรรกะ


ภาพ

-s เชือก เพิ่ม เชือก ต่อท้ายหมายเลขแต่ละบรรทัดเพื่อสร้างตัวคั่น

ค่าเริ่มต้นคืออักขระแท็บเดียว


ภาพ

-v จำนวน ตั้งค่าหมายเลขบรรทัดแรกของแต่ละหน้าตรรกะเป็น จำนวน. ค่าเริ่มต้นคือหนึ่ง


ภาพ

-w ความกว้าง ตั้งค่าความกว้างของฟิลด์หมายเลขบรรทัดเป็น ความกว้าง. ค่าเริ่มต้นคือ 6


ภาพ


จริงอยู่ว่าอาจจะไม่เรียงเลขบ่อยแต่ก็ใช้ได้นะ nl เพื่อดูว่าเราจะรวมเครื่องมือต่างๆ เข้าด้วยกันเพื่อทำงานที่ซับซ้อนมากขึ้นได้อย่างไร เราจะต่อยอดจากงานของเราในบทก่อนหน้าเพื่อจัดทำรายงานการแจกจ่าย Linux เนื่องจากเราจะใช้ nlการใส่มาร์กอัปส่วนหัว/เนื้อหา/ส่วนท้ายจะเป็นประโยชน์ ในการทำเช่นนี้เราจะเพิ่มลงใน ความกระหายน้ำ สคริปต์จากบทที่แล้ว เมื่อใช้โปรแกรมแก้ไขข้อความ เราจะเปลี่ยนสคริปต์ดังต่อไปนี้และบันทึกเป็น distros-nl.sed:


# sed script เพื่อสร้างรายงานการแจกแจงลินุกซ์


1 ผม\

-

\

รายงานการกระจาย Linux\

\

ชื่อ Ver. ปล่อยแล้ว\

-

-

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

$ เป็\

-

\

สิ้นสุดรายงาน

# sed script เพื่อสร้างรายงานการแจกแจงลินุกซ์


1 ผม\

-

\

รายงานการกระจาย Linux\

\

ชื่อ Ver. ปล่อยแล้ว\

-

-

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

$ เป็\

-

\

สิ้นสุดรายงาน


สคริปต์ตอนนี้แทรก nl มาร์กอัปหน้าแบบลอจิคัลและเพิ่มส่วนท้ายที่ส่วนท้ายของรายงาน โปรดทราบว่าเราต้องเพิ่มแบ็กสแลชเป็นสองเท่าในมาร์กอัปของเรา เนื่องจากพวกมันไม่ได้ตีความว่าเป็นอักขระหลีกโดย ความกระหายน้ำ.

ต่อไป เราจะจัดทำรายงานที่ปรับปรุงแล้วโดยการรวม ประเภท, ความกระหายน้ำและ nl:



ภาพ

[me@linuxbox ~]$ sort -k 1,1 -k 2n distros.txt | sed -f distros-nl.s เอ็ด | nl


รายงานการกระจาย Linux


ชื่อ

ดู.

เผยแพร่

----

----

--------


1

Fedora

5

2006-03-20

2

Fedora

6

2006-10-24

3

Fedora

7

2007-05-31

4

Fedora

8

2007-11-08

5

Fedora

9

2008-05-13

6

Fedora

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: