การแสดงออกปกติมาในรสชาติที่แตกต่างมากมาย สิ่งที่คุณแสดงคือนิพจน์ทั่วไปที่เหมือน Perl (PCRE, "Perl Compatible Regular Expression")
grepนิพจน์ปกติ POSIX ใด เหล่านี้คือนิพจน์ทั่วไปพื้นฐาน (BRE) และนิพจน์ทั่วไปเพิ่มเติม (ERE หากgrepใช้กับ -Eตัวเลือก) ดูคู่มือสำหรับre_formatหรือregexหรือคู่มือที่คล้ายกันของคุณgrepอ้างอิงในระบบของคุณหรือข้อความมาตรฐาน POSIX ที่ฉันเพิ่งเชื่อมโยง
หากคุณใช้ GNU grepคุณจะสามารถใช้นิพจน์ทั่วไปที่เหมือน Perl ได้หากคุณใช้grepกับตัวเลือกที่grepเจาะจงของGNU-P
โปรดทราบว่าการgrepส่งคืนบรรทัดเป็นค่าเริ่มต้นไม่ใช่สตริงย่อยจากบรรทัด อีกครั้งด้วย GNU grep(และgrepการใช้งานอื่น ๆ) คุณอาจใช้-oตัวเลือกเพื่อรับบิตที่ตรงกับนิพจน์ที่ระบุจากแต่ละบรรทัด
โปรดทราบว่าทั้งสอง-Pและ-oส่วนขยายที่ไม่ได้มาตรฐานสเปคของ POSIXgrep
หากคุณไม่ได้ใช้ GNU grepคุณอาจใช้sedแทนการรับบิตระหว่างสตริงprefixและจุดสิ้นสุดของบรรทัด:
sed -n 's/.*prefix\(.*\)/\1/p' file
สิ่งนี้ทำเพื่อพิมพ์เฉพาะบรรทัดที่sedจัดการเพื่อใช้การทดแทนที่กำหนดให้ การเปลี่ยนตัวผู้เล่นจะเข้ามาแทนที่สายทั้งที่ตรงกับการแสดงออก (ซึ่งเป็น BRE) prefixกับชิ้นส่วนของมันที่เกิดขึ้นหลังจากสตริง
โปรดทราบว่าหากมีหลายอินสแตนซ์ของprefixหนึ่งบรรทัดการsedแปรผันจะคืนค่าสตริงหลังอันสุดท้ายในขณะที่การgrepเปลี่ยนแปลงของGNU จะคืนค่าสตริงหลังจากอันแรก (ซึ่งจะรวมถึงอินสแตนซ์อื่นของprefix)
การsedแก้ปัญหาจะเป็นแบบพกพาไปยังระบบเหมือน Unix ทั้งหมด