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

โลโก้

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

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

POSIX Basic เทียบกับ นิพจน์ทั่วไปแบบขยาย

เมื่อเราคิดว่าสิ่งนี้จะไม่ทำให้เกิดความสับสนอีกต่อไป เราพบว่า POSIX ยังแยกการใช้งานนิพจน์ทั่วไปออกเป็นสองประเภท: นิพจน์ทั่วไปพื้นฐาน (BRE) และ นิพจน์ทั่วไปแบบขยาย (ERE). คุณลักษณะที่เรากล่าวถึงจนถึงขณะนี้ได้รับการสนับสนุนโดยแอปพลิเคชันใดๆ ที่สอดคล้องกับ POSIX และใช้ BRE ของเรา grep โปรแกรมเป็นหนึ่งในโปรแกรมดังกล่าว

ความแตกต่างระหว่าง BRE และ ERE คืออะไร? มันเป็นเรื่องของเมตาคาแรคเตอร์ ด้วย BRE จะมีการจดจำ metacharacters ต่อไปนี้:

↑ $. [ ] *

อักขระอื่นๆ ทั้งหมดถือเป็นตัวอักษร ด้วย ERE เมตาคาแรคเตอร์ต่อไปนี้ (และหน้าที่ที่เกี่ยวข้อง) จะถูกเพิ่มเข้าไป:

- -

อย่างไรก็ตาม (และนี่คือส่วนที่สนุก) อักขระ "(", ")", "{" และ "}" จะถือเป็น metacharacters ใน BRE if พวกมันหนีด้วยแบ็กสแลช ในขณะที่ ERE นำหน้าเมตาคาแรคเตอร์ใดๆ ที่มีแบ็กสแลชจะทำให้มันได้รับการปฏิบัติเสมือนเป็นตัวอักษร ความแปลกประหลาดที่เกิดขึ้นจะกล่าวถึงในการอภิปรายที่ตามมา

ภาพ

เนื่องจากคุณสมบัติที่เราจะพูดถึงต่อไปเป็นส่วนหนึ่งของ ERE เราจึงจำเป็นต้องใช้คุณสมบัติที่แตกต่างกัน grep. ตามเนื้อผ้า นี้ได้รับการดำเนินการโดย นกกระยาง โปรแกรมแต่เวอร์ชัน GNU ของ grep ยังรองรับนิพจน์ทั่วไปแบบขยายเมื่อ -E ใช้ตัวเลือก


POSIX

ในช่วงปี 1980 Unix ได้กลายเป็นระบบปฏิบัติการเชิงพาณิชย์ที่ได้รับความนิยมอย่างมาก แต่ในปี 1988 โลก Unix ตกอยู่ในความวุ่นวาย ผู้ผลิตคอมพิวเตอร์หลายรายได้ให้อนุญาตซอร์สโค้ด Unix จากผู้สร้าง AT&T และได้จัดหาระบบปฏิบัติการเวอร์ชันต่างๆ ให้กับระบบของตน อย่างไรก็ตาม ในความพยายามที่จะสร้างความแตกต่างของผลิตภัณฑ์ ผู้ผลิตแต่ละรายได้เพิ่มการเปลี่ยนแปลงและส่วนขยายที่เป็นกรรมสิทธิ์ สิ่งนี้เริ่มจำกัดความเข้ากันได้ของซอฟต์แวร์ เช่นเคยกับ

ภาพ

POSIX Basic เทียบกับ นิพจน์ทั่วไปแบบขยาย


ผู้ค้าที่เป็นกรรมสิทธิ์แต่ละรายพยายามเล่นเกม "ล็อคอิน" กับลูกค้าของตนเพื่อชัยชนะ ยุคมืดนี้ในประวัติศาสตร์ของ Unix เป็นที่รู้จักกันในปัจจุบันว่า “บอลคาไนเซชั่น".

เข้าสู่ IEEE (สถาบันวิศวกรไฟฟ้าและอิเล็กทรอนิกส์) ในช่วงกลางทศวรรษ 1980 IEEE เริ่มพัฒนาชุดมาตรฐานที่จะกำหนดวิธีการทำงานของระบบ Unix (และ Unix-like) มาตรฐานเหล่านี้ หรือที่รู้จักกันอย่างเป็นทางการว่า IEEE 1003 กำหนด อินเตอร์เฟสการเขียนโปรแกรมประยุกต์ (API) เชลล์และยูทิลิตีที่จะพบได้บนระบบที่คล้าย Unix มาตรฐาน ชื่อ “POSIX” ซึ่งย่อมาจาก อินเทอร์เฟซระบบปฏิบัติการแบบพกพา (โดยเพิ่ม "X" ต่อท้ายเพื่อความรวดเร็วยิ่งขึ้น) Richard Stallman แนะนำ (ใช่ ที่ Richard Stallman) และได้รับการรับรองจาก IEEE


ระบบปฏิบัติการคลาวด์คอมพิวติ้งยอดนิยมที่ OnWorks: