กลับไปหน้าบทความ

อ่าน 4 นาที

ed (โปรแกรมแก้ไขข้อความ)

ed (ออกเสียงเป็นตัวอักษรที่แตกต่างกัน / ˌ iː ˈ d iː / ) [ 1 ] เป็น โปรแกรมแก้ไขข้อความแบบบรรทัด เป็นหนึ่งในคุณสมบัติแรกๆ ของระบบปฏิบัติการ Unix [ 2 ]...

ed (โปรแกรมแก้ไขข้อความ)

เอ็ด
ผู้เขียนต้นฉบับเคน ทอมป์สัน
นักพัฒนาเอทีแอนด์ที เบลล์ แล็บโบราทอรีส์
ปล่อยปี 1973 เมื่อ 52-53 ปีที่แล้ว
เขียนเป็นซี
ระบบปฏิบัติการยูนิก , ระบบคล้ายยูนิก , แพลน 9
แพลตฟอร์มข้ามแพลตฟอร์ม
พิมพ์โปรแกรมแก้ไขข้อความ
ใบอนุญาตแผนที่ 9: ใบอนุญาต MIT

ed (ออกเสียงเป็นตัวอักษรที่แตกต่างกัน / ˌ ˈ d / ) [ 1 ]เป็นโปรแกรมแก้ไขข้อความแบบบรรทัดเป็นหนึ่งในคุณสมบัติแรกๆ ของระบบปฏิบัติการ Unix [ 2 ]แม้ว่าจะไม่ได้ใช้กันทั่วไปในปัจจุบัน แต่ก็ยังคงเป็นส่วนหนึ่งของมาตรฐาน POSIXและ Open Group [ 3 ] ควบคู่ไป กับ โปรแกรมแก้ไขแบบเต็มหน้าจอ vi

ประวัติศาสตร์

โปรแกรมแก้ไขข้อความ ed เป็นหนึ่งในสามองค์ประกอบหลักแรกของระบบปฏิบัติการ Unix ได้แก่แอสเซมเบลอ ร์ โปรแกรมแก้ไขและเชลล์ซึ่งพัฒนาโดยKen Thompsonในเดือนสิงหาคม พ.ศ. 2512 บนเครื่องPDP-7ที่AT&T Bell Labs [ 2 ] คุณสมบัติหลายอย่างของมันมาจาก โปรแกรมแก้ไขข้อความ qed ที่พัฒนาขึ้นที่ มหาวิทยาลัยแคลิฟอร์เนีย เบิร์กลีย์ ซึ่งเป็นมหาวิทยาลัยที่ Thompson จบ การ ศึกษา [ 4 ] Thompson คุ้นเคยกับ qed เป็นอย่างดี และได้เขียนโปรแกรมใหม่บน ระบบ CTSSและMulticsเวอร์ชันของ qed ที่พัฒนาโดย Thompson นั้นโดดเด่นในฐานะที่เป็นเวอร์ชันแรกที่ใช้การแสดงออกปกติ (regular expressions ) การแสดงออกปกติยังถูกนำมาใช้ใน ed ด้วยเช่นกัน แม้ว่าการใช้งานของมันจะมีความทั่วไปน้อยกว่าใน qed มากก็ตาม

Dennis M. Ritchieได้สร้างสิ่งที่Doug McIlroyอธิบายในภายหลังว่าเป็น ed ที่ "สมบูรณ์แบบ" [ 5 ]และแง่มุมต่างๆ ของ ed ก็มีอิทธิพลต่อex และต่อมาvi คำสั่ง grepของ Unix ที่ไม่โต้ตอบได้รับแรงบันดาลใจจากการใช้งานพิเศษทั่วไปของ qed และต่อมา ed ซึ่งคำสั่งนี้g/re/pจะทำการค้นหานิพจน์ปกติทั่วโลกและพิมพ์บรรทัดที่มีการจับคู่ ตัวแก้ไขสตรีมของ Unix sedได้นำคุณสมบัติการเขียนสคริปต์หลายอย่างของqed มา ใช้ซึ่ง ed บน Unix ไม่รองรับ[ 6 ]

คำสั่ง ed มักถูกเลียนแบบในโปรแกรมแก้ไขข้อความแบบบรรทัดอื่นๆ ตัวอย่างเช่นED ของCP/M , EDLINในMS-DOSเวอร์ชันแรกๆ และWindows NTเวอร์ชัน32 บิตมีไวยากรณ์ที่ค่อนข้างคล้ายกัน และโปรแกรมแก้ไขข้อความในเกม MUD หลายเกม ( เช่น LPMudและเกมที่พัฒนาต่อยอดจาก LPMud) ก็ใช้ไวยากรณ์ที่คล้ายกับ ed อย่างไรก็ตาม โปรแกรมแก้ไขเหล่านี้มักมีฟังก์ชันการทำงานที่จำกัดกว่า

ในทางปฏิบัติปัจจุบัน ed แทบจะไม่ถูกใช้แบบโต้ตอบเลย แต่บางครั้งก็ถูกใช้ในสคริปต์เชลล์สำหรับการใช้งานแบบโต้ตอบ ed ถูกรวมเข้ากับ ตัวแก้ไข sam , viและEmacsในช่วงทศวรรษ 1980 ed สามารถพบได้ในแทบทุกเวอร์ชันของ Unix และLinuxที่มีอยู่ และด้วยเหตุนี้จึงมีประโยชน์สำหรับผู้ที่ต้องทำงานกับ Unix หลายเวอร์ชัน บนระบบปฏิบัติการที่ใช้ Unix ยูทิลิตี้บางอย่างเช่นSQL*Plusจะเรียกใช้ ed เป็นตัวแก้ไขหากตัวแปรสภาพแวดล้อม EDITOR และ VISUAL ไม่ได้ถูกกำหนดไว้[ 7 ]หากมีบางอย่างผิดพลาด บางครั้ง ed เป็นตัวแก้ไขเดียวที่มีอยู่ นี่มักจะเป็นเพียงครั้งเดียวที่ใช้แบบโต้ตอบ

คุณสมบัติ

หน้าคู่มือการใช้งานสำหรับ GNU ed

คุณสมบัติของ ed ได้แก่:

เวอร์ชันGNUประกอบด้วยตัวเลือกที่มุ่งเน้นการปรับปรุงการตอบรับ การใช้ed -v -p:จะให้ข้อความแจ้งเตือนแบบง่ายและช่วยให้สามารถแสดงข้อความตอบรับที่มีประโยชน์มากขึ้น[ 8 ] สวิตช์ นี้-pถูกกำหนดไว้ใน POSIX ตั้งแต่XPG2 (1987) [ 3 ]

ประสบการณ์ผู้ใช้

ed เป็นที่รู้จักในด้านความกระชับ แทบไม่มีการตอบสนองใดๆ[ 9 ]และถูกเรียกว่า (โดยPeter H. Salus ) "โปรแกรมแก้ไขข้อความที่เป็นปฏิปักษ์ต่อผู้ใช้มากที่สุดเท่าที่เคยสร้างมา" แม้จะเปรียบเทียบกับ TECOในยุคเดียวกัน (และมีความซับซ้อนอย่างมาก) ก็ตาม[ 2 ] ตัวอย่างเช่น ข้อความที่ ed สร้างขึ้นในกรณีที่เกิดข้อผิดพลาดและเมื่อต้องการยืนยันการออกโดยไม่บันทึก มีเพียง "?" เท่านั้น มันไม่ได้รายงานชื่อไฟล์ปัจจุบันหรือหมายเลขบรรทัด หรือแม้แต่แสดงผลลัพธ์ของการเปลี่ยนแปลงข้อความ เว้นแต่จะมีการร้องขอ เวอร์ชันเก่ากว่า (ประมาณปี 1981) ไม่ได้ขอการยืนยันเมื่อมีการออกคำสั่ง quit เมื่อมีการเปลี่ยนแปลงที่ยังไม่ได้บันทึก[ 9 ]ความกระชับนี้เหมาะสมกับ Unix เวอร์ชันแรกๆ เมื่อคอนโซลเป็นเครื่องพิมพ์ดีด[ a ] ​​โมเด็มช้า และหน่วยความจำมีจำกัด เมื่อเทคโนโลยีคอมพิวเตอร์ดีขึ้นและข้อจำกัดเหล่านี้คลายลง โปรแกรมแก้ไขข้อความที่มีการตอบสนองมากขึ้นจึงกลายเป็นเรื่องปกติ

เอกสารglibcระบุรหัสข้อผิดพลาดที่มีEDคำอธิบาย (errorstr) เพียงเครื่องหมายคำถามเดียว โดยระบุว่า "ผู้ใช้ที่มีประสบการณ์จะรู้ว่าอะไรผิดพลาด" [ 10 ]

ตัวอย่าง

ต่อไปนี้เป็นตัวอย่างบันทึกการสนทนาของ ed เพื่อความชัดเจน คำสั่งและข้อความที่ผู้ใช้พิมพ์จะอยู่ในnormal colorและผลลัพธ์จาก ed จะอยู่gray colorใน

เอ ed คือโปรแกรมแก้ไขข้อความมาตรฐานของ Unix นี่คือบรรทัดที่สอง . 2i . ,l ed is the standard Unix text editor.$$This is line number two.$ w text.txt 633s/two/three/ ,l ed is the standard Unix text editor.$$This is line number three.$ w text.txt 65 q 

ผลลัพธ์สุดท้ายคือไฟล์ข้อความธรรมดาชื่อ text.txtซึ่งประกอบด้วยข้อความต่อไปนี้:

ed คือโปรแกรมแก้ไขข้อความมาตรฐานของ Unix นี่คือบรรทัดที่สาม 

คำสั่ง นี้เริ่มต้นด้วยไฟล์ว่างเปล่า และaจะเพิ่มข้อความ (คำสั่ง ed ทั้งหมดเป็นตัวอักษรเดี่ยว) คำสั่งนี้จะทำให้ ed เข้าสู่โหมดแทรกโดยจะแทรกอักขระที่ตามมาและสิ้นสุดด้วยจุดหนึ่งจุดบนบรรทัด บรรทัดสองบรรทัดที่ป้อนก่อนจุดจะถูกเก็บไว้ในบัฟเฟอร์ของไฟล์คำสั่งนี้ยังเข้าสู่โหมดแทรกเช่นกัน และจะแทรกข้อความที่ป้อน (บรรทัดว่างหนึ่งบรรทัดในกรณีของเรา) ก่อนบรรทัดที่สอง คำสั่งทั้งหมดอาจมีหมายเลขบรรทัดนำหน้าเพื่อทำงานกับบรรทัดนั้น 2i

ในบรรทัดคำสั่ง ตัวอักษร L ตัวเล็กหมายถึงคำสั่งแสดงรายการ คำสั่งนี้จะนำหน้าด้วยช่วงซึ่งในกรณีนี้คือตัวย่อของช่วงคือหมายเลขบรรทัดสองหมายเลขคั่นด้วยเครื่องหมายจุลภาค ( หมายถึงบรรทัดสุดท้าย) ในทางกลับกัน คำสั่ง ed จะแสดงรายการทุกบรรทัดตั้งแต่บรรทัดแรกจนถึงบรรทัดสุดท้าย บรรทัดเหล่านี้จะปิดท้ายด้วยเครื่องหมายดอลลาร์ เพื่อให้เห็นช่องว่างที่ท้ายบรรทัดได้อย่างชัดเจน ,l,1,$$

เมื่อแทรกบรรทัดว่างลงในบรรทัดที่ 2 บรรทัดที่เขียนว่า "นี่คือบรรทัดที่ 2" จึงกลายเป็นบรรทัดที่ 3 ข้อผิดพลาดนี้แก้ไขได้ด้วยคำสั่งแทนที่ คำสั่ง นี้ จะนำไปใช้กับบรรทัดที่ถูกต้อง โดยตามด้วยข้อความที่จะถูกแทนที่ การแสดงรายการบรรทัดทั้งหมดที่มีบรรทัดที่ถูกต้องจึงแสดงขึ้นมา 3s/two/three/3,l

w text.txtเขียนข้อมูลจากบัฟเฟอร์ลงในไฟล์text.txtทำให้ ed ตอบกลับด้วยจำนวนอักขระที่เขียนลงในไฟล์คำสั่งนี้จะยุติเซสชันของ ed 65q

ดูเพิ่มเติม

หมายเหตุ

  1. ^ ed สามารถใช้งานร่วมกับเทอร์มินัลต่างๆ เช่น Teletype Model 33 ได้
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Ed_(text_editor)&oldid=1359154923 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ ed (โปรแกรมแก้ไขข้อความ)

ed (ออกเสียงเป็นตัวอักษรที่แตกต่างกัน / ˌ iː ˈ d iː / ) [ 1 ] เป็น โปรแกรมแก้ไขข้อความแบบบรรทัด เป็นหนึ่งในคุณสมบัติแรกๆ ของระบบปฏิบัติการ Unix [ 2 ]...

ประวัติศาสตร์

โปรแกรมแก้ไขข้อความ ed เป็นหนึ่งในสามองค์ประกอบหลักแรกของระบบปฏิบัติการ Unix ได้แก่ แอสเซม เบลอ ร์ โปรแกรมแก้ไข และ เชลล์ ซึ่งพัฒนาโดย Ken Thompson ในเดือนสิงหาคม พ.ศ.

ประสบการณ์ผู้ใช้

ed เป็นที่รู้จักในด้านความกระชับ แทบไม่มีการตอบสนองใดๆ [ 9 ] และถูกเรียกว่า (โดย Peter H.

ตัวอย่าง

ต่อไปนี้เป็นตัวอย่างบันทึกการสนทนาของ ed เพื่อความชัดเจน คำสั่งและข้อความที่ผู้ใช้พิมพ์จะอยู่ใน normal color และผลลัพธ์จาก ed จะอยู่ gray color ใน