นี่คือคำสั่ง fgrep ที่สามารถเรียกใช้ในผู้ให้บริการโฮสต์ฟรีของ OnWorks โดยใช้เวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS
โครงการ:
ชื่อ
grep, egrep, fgrep, rgrep - พิมพ์เส้นที่ตรงกับรูปแบบ
เรื่องย่อ
grep [OPTIONS] รูปแบบ [ไฟล์... ]
grep [OPTIONS] [-e รูปแบบ--f ไฟล์-ไฟล์... ]
DESCRIPTION
grep ค้นหาอินพุตที่มีชื่อ ไฟล์s สำหรับบรรทัดที่มีการจับคู่กับที่กำหนด รูปแบบ. ถ้า
ไม่ได้ระบุไฟล์หรือหากไฟล์“-” มอบให้ grep ค้นหาอินพุตมาตรฐาน โดย
ค่าเริ่มต้น, grep พิมพ์เส้นที่ตรงกัน
นอกจากนี้ โปรแกรมตัวแปร นกกระยาง, เอฟเกรป และ rgrep ก็เหมือนกับ grep -E, grep -F,
และ grep -rตามลำดับ ตัวแปรเหล่านี้เลิกใช้แล้ว แต่มีไว้สำหรับย้อนหลัง
ความเข้ากันได้
OPTIONS
ทั่วไป โครงการ ข้อมูล
--ช่วยด้วย ส่งออกข้อความการใช้งานและออก
-V, --รุ่น
ส่งออกหมายเลขเวอร์ชันของ grep และออก
จับคู่ การเลือก
-E, --ขยาย-regexp
ล่าม รูปแบบ เป็นนิพจน์ทั่วไปแบบขยาย (ERE ดูด้านล่าง)
-F, --fixed-สตริง
ล่าม รูปแบบ เป็นรายการสตริงคงที่ (แทนนิพจน์ทั่วไป)
คั่นด้วยการขึ้นบรรทัดใหม่ อันไหนก็ได้ที่จะจับคู่กัน
-G, --พื้นฐาน-regexp
ล่าม รูปแบบ เป็นนิพจน์ทั่วไปพื้นฐาน (BRE ดูด้านล่าง) นี้เป็น
ค่าเริ่มต้น.
-P, --perl-regexp
ล่าม รูปแบบ เป็นนิพจน์ทั่วไปของ Perl (PCRE ดูด้านล่าง) นี้มันสุดๆ
ทดลองและ grep -P อาจเตือนถึงคุณสมบัติที่ไม่ได้ใช้งาน
แม็ทชิ่ง Control
-e รูปแบบ, --regexp=รูปแบบ
ใช้ รูปแบบ เป็นแบบอย่าง หลายรายการ -e สามารถใช้ระบุการค้นหาต่างๆ ได้
รูปแบบ ตัวเลือกนี้ยังมีประโยชน์ในการป้องกันรูปแบบที่ขึ้นต้นด้วยยัติภังค์
(-).
-f ไฟล์, --ไฟล์=ไฟล์
รับรูปแบบจาก ไฟล์หนึ่งรายการต่อบรรทัด ไฟล์เปล่ามีรูปแบบเป็นศูนย์
จึงไม่ตรงกับสิ่งใด หลายรายการ -f สามารถใช้เพื่อระบุไฟล์ต่างๆ
-i, --ละเว้นกรณี
ละเว้นความแตกต่างของตัวพิมพ์ในทั้ง รูปแบบ และไฟล์อินพุต
-v, --invert-ตรง
กลับความรู้สึกของการจับคู่ เพื่อเลือกบรรทัดที่ไม่ตรงกัน
-w, --word-regexp
เลือกเฉพาะบรรทัดที่มีการจับคู่ที่เป็นทั้งคำ บททดสอบก็คือว่า
สตริงย่อยที่ตรงกันต้องอยู่ต้นบรรทัดหรือนำหน้าด้วย
อักขระที่เป็นส่วนประกอบที่ไม่ใช่คำ ในทำนองเดียวกันจะต้องอยู่ท้าย
บรรทัดหรือตามด้วยอักขระที่เป็นส่วนประกอบที่ไม่ใช่คำ อักขระที่เป็นส่วนประกอบของคำ
คือตัวอักษร ตัวเลข และขีดล่าง
-x, --บรรทัด-regexp
เลือกเฉพาะการแข่งขันที่ตรงกับทั้งบรรทัดเท่านั้น เป็นประจำ
รูปแบบนิพจน์ นี้เหมือนกับการใส่รูปแบบวงเล็บแล้วล้อมไว้
กับ ^ และ $.
-y คำพ้องความหมายที่ล้าสมัยสำหรับ -i.
General เอาท์พุต Control
-c, --นับ
ระงับเอาต์พุตปกติ แทนที่จะพิมพ์จำนวนบรรทัดที่ตรงกันสำหรับแต่ละอินพุต
ไฟล์. กับ -v, --invert-ตรง ตัวเลือก (ดูด้านล่าง) นับบรรทัดที่ไม่ตรงกัน
--สี[=เมื่อ], --สี[=เมื่อ]
ล้อมรอบสตริง (ไม่ว่าง) ที่ตรงกัน, บรรทัดที่ตรงกัน, บรรทัดบริบท, file
ชื่อ หมายเลขบรรทัด ออฟเซ็ตไบต์ และตัวคั่น (สำหรับฟิลด์และกลุ่มของบริบท
เส้น) พร้อม Escape Sequence เพื่อแสดงเป็นสีบนเทอร์มินัล สี
ถูกกำหนดโดยตัวแปรสภาพแวดล้อม GREP_COLORS. สภาพแวดล้อมที่เสื่อมโทรม
ตัวแปร GREP_COLOR ยังคงได้รับการสนับสนุน แต่การตั้งค่าไม่มีลำดับความสำคัญ
เมื่อ is ไม่เคย, เสมอ,หรือ รถยนต์.
-L, --files-ไม่มีการจับคู่
ระงับเอาต์พุตปกติ แทนที่จะพิมพ์ชื่อของแต่ละไฟล์อินพุตซึ่งไม่มี
ปกติแล้วจะมีการพิมพ์ผลงานออกมา การสแกนจะหยุดในครั้งแรก
การจับคู่.
-l, --files-กับ-ตรงกัน
ระงับเอาต์พุตปกติ แทนที่จะพิมพ์ชื่อของแต่ละไฟล์อินพุตที่เอาต์พุต
ปกติจะมีการพิมพ์ การสแกนจะหยุดในนัดแรก
-m NUM, --max-นับ=NUM
หยุดอ่านไฟล์หลังจาก NUM เส้นที่ตรงกัน หากอินพุตเป็นอินพุตมาตรฐานจาก
ไฟล์ปกติและ NUM เส้นที่ตรงกันจะถูกส่งออก grep รับรองว่าได้มาตรฐาน
อินพุตอยู่ในตำแหน่งหลังบรรทัดที่ตรงกันสุดท้ายก่อนออกโดยไม่คำนึงถึง
ของการมีอยู่ของบรรทัดบริบทต่อท้าย ซึ่งจะช่วยให้กระบวนการโทรไปยัง
ดำเนินการค้นหาต่อ เมื่อไหร่ grep หยุดหลังจาก NUM เส้นที่ตรงกัน มันจะส่งออกต่อท้ายใด ๆ
เส้นบริบท เมื่อ -c or --นับ นอกจากนี้ยังใช้ตัวเลือก grep ไม่ส่งออก a
นับมากกว่า NUM. เมื่อ -v or --invert-ตรง นอกจากนี้ยังใช้ตัวเลือก grep
หยุดหลังจากการส่งออก NUM เส้นที่ไม่ตรงกัน
-o, --การจับคู่เท่านั้น
พิมพ์เฉพาะส่วนที่ตรงกัน (ไม่ว่าง) ของบรรทัดที่ตรงกัน โดยแต่ละส่วนนั้นอยู่บน
แยกสายออก
-q, --เงียบ, --เงียบ
เงียบ; อย่าเขียนอะไรลงในเอาต์พุตมาตรฐาน ออกทันทีด้วยสถานะเป็นศูนย์
หากพบการจับคู่ใด ๆ แม้ว่าจะตรวจพบข้อผิดพลาดก็ตาม ดู .ด้วย -s or
--ไม่มีข้อความ ตัวเลือก
-s, --ไม่มีข้อความ
ระงับข้อความแสดงข้อผิดพลาดเกี่ยวกับไฟล์ที่ไม่มีอยู่หรือไม่สามารถอ่านได้
เอาท์พุต Line อุปสรรค Control
-b, --byte-ออฟเซ็ต
พิมพ์ออฟเซ็ตไบต์ตาม 0 ภายในไฟล์อินพุตก่อนแต่ละบรรทัดของเอาต์พุต ถ้า
-o (--การจับคู่เท่านั้น) ระบุให้พิมพ์ออฟเซ็ตของส่วนที่ตรงกันเอง
-H, --with-ชื่อไฟล์
พิมพ์ชื่อไฟล์สำหรับการแข่งขันแต่ละรายการ นี่เป็นค่าเริ่มต้นเมื่อมีมากกว่า
หนึ่งไฟล์เพื่อค้นหา
-h, --no-ชื่อไฟล์
งดคำนำหน้าชื่อไฟล์บนเอาต์พุต นี่เป็นค่าเริ่มต้นเมื่อมี
เพียงหนึ่งไฟล์ (หรืออินพุตมาตรฐานเท่านั้น) เพื่อค้นหา
--ฉลาก=LABEL
แสดงอินพุตที่มาจากอินพุตมาตรฐานจริงเป็นอินพุตที่มาจากไฟล์ LABEL.
สิ่งนี้มีประโยชน์อย่างยิ่งเมื่อใช้เครื่องมือเช่น กริป, เช่น, gzip -CD ฟู.gz
| grep --label=foo -H บางสิ่งบางอย่าง. ดูเพิ่มเติมที่ -H ตัวเลือก
-n, --line-หมายเลข
คำนำหน้าแต่ละบรรทัดของเอาต์พุตด้วยหมายเลขบรรทัดแบบ 1 ในไฟล์อินพุต
-T, --initial-แท็บ
ตรวจสอบให้แน่ใจว่าอักขระตัวแรกของเนื้อหาบรรทัดจริงอยู่บนแท็บหยุด ดังนั้น
ว่าการจัดตำแหน่งแท็บดูปกติ สิ่งนี้มีประโยชน์กับตัวเลือกที่นำหน้า
ผลลัพธ์ของพวกเขาไปยังเนื้อหาจริง: -H,-nและ -b. เพื่อปรับปรุง
ความน่าจะเป็นที่บรรทัดจากไฟล์เดียวทั้งหมดจะเริ่มต้นที่คอลัมน์เดียวกัน นี่
ยังทำให้จำนวนบรรทัดและไบต์ออฟเซ็ต (ถ้ามี) พิมพ์ขั้นต่ำ
ขนาดความกว้างของฟิลด์
-u, --unix-ไบต์-ชดเชย
รายงานการชดเชยไบต์สไตล์ Unix สวิตช์นี้ทำให้เกิด grep เพื่อรายงานการชดเชยไบต์เป็น
หากไฟล์นั้นเป็นไฟล์ข้อความสไตล์ Unix เช่น โดยที่อักขระ CR ถูกถอดออก
ซึ่งจะให้ผลลัพธ์เหมือนกับการวิ่ง grep บนเครื่อง Unix ตัวเลือกนี้
ไม่มีผลเว้นแต่ -b นอกจากนี้ยังใช้ตัวเลือก ไม่มีผลกับแพลตฟอร์มอื่นๆ
มากกว่า MS-DOS และ MS-Windows
-Z, --โมฆะ
ส่งออกเป็นศูนย์ไบต์ (ASCII NUL อักขระ) แทนอักขระที่ปกติ
ตามชื่อไฟล์ ตัวอย่างเช่น, grep -ลซ ส่งออกเป็นศูนย์ไบต์หลังจากแต่ละไฟล์
ชื่อแทนการขึ้นบรรทัดใหม่ปกติ ตัวเลือกนี้ทำให้ผลลัพธ์ชัดเจนแม้
ต่อหน้าชื่อไฟล์ที่มีอักขระผิดปกติเช่นขึ้นบรรทัดใหม่ นี้
สามารถใช้ option กับคำสั่งเช่น พบ -พิมพ์0, Perl -0, ประเภท -zและ xargs -0
เพื่อประมวลผลชื่อไฟล์ตามอำเภอใจ แม้แต่ชื่อที่มีอักขระขึ้นบรรทัดใหม่
บริบท Line Control
-A NUM, --หลังบริบท=NUM
พิมพ์ NUM บรรทัดของบริบทต่อท้ายหลังจากบรรทัดที่ตรงกัน วางบรรทัดที่มี
ตัวแบ่งกลุ่ม (--) ระหว่างกลุ่มการแข่งขันที่ต่อเนื่องกัน กับ -o or
--การจับคู่เท่านั้น ตัวเลือกนี้ไม่มีผลและมีการเตือน
-B NUM, --ก่อนบริบท=NUM
พิมพ์ NUM บรรทัดของบริบทนำก่อนบรรทัดที่ตรงกัน วางบรรทัดที่มี
ตัวแบ่งกลุ่ม (--) ระหว่างกลุ่มการแข่งขันที่ต่อเนื่องกัน กับ -o or
--การจับคู่เท่านั้น ตัวเลือกนี้ไม่มีผลและมีการเตือน
-C NUM, -NUM, --บริบท=NUM
พิมพ์ NUM บรรทัดของบริบทเอาต์พุต วางบรรทัดที่มีตัวคั่นกลุ่ม (--)
ระหว่างกลุ่มการแข่งขันที่ต่อเนื่องกัน กับ -o or --การจับคู่เท่านั้น ตัวเลือกนี้
ไม่มีผลและมีการเตือน
เนื้อไม่มีมัน และ ค้นหาสถานที่ การเลือก
-a, --ข้อความ
ประมวลผลไฟล์ไบนารีราวกับว่ามันเป็นข้อความ นี้เทียบเท่ากับ
--ไบนารีไฟล์=ข้อความ ตัวเลือก
--ไบนารีไฟล์=ประเภท
หากสองสามไบต์แรกของไฟล์ระบุว่าไฟล์นั้นมีข้อมูลไบนารี
สมมติว่าไฟล์นั้นเป็นประเภท ประเภท. โดยค่าเริ่มต้น, ประเภท is ไบนารีและ grep
โดยปกติจะแสดงข้อความบรรทัดเดียวว่าไฟล์ไบนารีตรงกันหรือ no
ข้อความหากไม่มีการแข่งขัน ถ้า ประเภท is ไม่ตรงกัน, grep ถือว่าเลขฐานสอง
ไฟล์ไม่ตรงกัน นี้เทียบเท่ากับ -I ตัวเลือก. ถ้า ประเภท is ข้อความ, grep
ประมวลผลไฟล์ไบนารีราวกับว่ามันเป็นข้อความ นี้เทียบเท่ากับ -a ตัวเลือก
เมื่อประมวลผลข้อมูลไบนารี grep อาจถือว่าไบต์ที่ไม่ใช่ข้อความเป็นตัวสิ้นสุดบรรทัด สำหรับ
ตัวอย่าง รูปแบบ '.' (จุด) อาจไม่ตรงกับ null byte เนื่องจาก null byte
อาจได้รับการปฏิบัติเหมือนเป็นตัวสิ้นสุดบรรทัด คำเตือน: grep --ไบนารีไฟล์=ข้อความ อาจ
เอาต์พุตไบนารี่ขยะ ซึ่งสามารถมีผลข้างเคียงที่น่ารังเกียจได้หากเอาต์พุตเป็น a
เทอร์มินัลและหากไดรเวอร์เทอร์มินัลตีความบางส่วนเป็นคำสั่ง
-D ACTION, --อุปกรณ์=ACTION
หากไฟล์อินพุตเป็นอุปกรณ์ FIFO หรือซ็อกเก็ต ให้ใช้ ACTION เพื่อประมวลผล โดย
ค่าเริ่มต้น, ACTION is อ่านซึ่งหมายความว่าอุปกรณ์จะถูกอ่านเหมือนกับว่าเป็น
ไฟล์ธรรมดา ถ้า ACTION is ข้าม, อุปกรณ์จะถูกข้ามอย่างเงียบ ๆ
-d ACTION, --ไดเรกทอรี=ACTION
หากไฟล์อินพุตเป็นไดเร็กทอรี ให้ใช้ ACTION เพื่อประมวลผล โดยค่าเริ่มต้น, ACTION is
อ่านกล่าวคือ อ่านไดเร็กทอรีเหมือนกับว่าเป็นไฟล์ธรรมดา ถ้า ACTION is
ข้าม, ข้ามไดเร็กทอรีอย่างเงียบๆ ถ้า ACTION is ฟื้น, อ่านไฟล์ทั้งหมดภายใต้แต่ละไฟล์
ไดเร็กทอรีวนซ้ำตามลิงก์สัญลักษณ์เฉพาะเมื่ออยู่ในคำสั่ง
ไลน์. ซึ่งเทียบเท่ากับ -r ตัวเลือก
--ไม่รวม=กลอ
ข้ามไฟล์ที่มีชื่อฐานตรงกัน กลอ (โดยใช้การจับคู่สัญลักษณ์แทน) ชื่อไฟล์
glob ใช้ได้ *, ?และ [...] เป็นไวด์การ์ดและ \ เพื่ออ้างสัญลักษณ์แทนหรือแบ็กสแลช
ตัวอักษรอย่างแท้จริง
--ไม่รวมจาก=ไฟล์
ข้ามไฟล์ที่มีชื่อฐานตรงกับชื่อไฟล์ globs ที่อ่านจาก ไฟล์ (โดยใช้
การจับคู่สัญลักษณ์แทนตามที่อธิบายไว้ใน --ไม่รวม).
--ไม่รวม-dir=DIR
ไม่รวมไดเร็กทอรีที่ตรงกับรูปแบบ DIR จากการค้นหาแบบเรียกซ้ำ
-I ประมวลผลไฟล์ไบนารีราวกับว่าไม่มีข้อมูลที่ตรงกัน นี่เทียบเท่ากับ
--binary-files=ไม่มีการจับคู่ ตัวเลือก
--รวม=กลอ
ค้นหาเฉพาะไฟล์ที่มีชื่อฐานตรงกัน กลอ (ใช้การจับคู่สัญลักษณ์แทนเป็น
อธิบายไว้ภายใต้ --ไม่รวม).
-r, - บันทึกซ้ำ
อ่านไฟล์ทั้งหมดภายใต้แต่ละไดเร็กทอรี วนซ้ำ ตามลิงก์สัญลักษณ์ก็ต่อเมื่อ
พวกเขาอยู่ในบรรทัดคำสั่ง โปรดทราบว่าหากไม่มีไฟล์ตัวถูกดำเนินการ grep จะค้นหา
ไดเร็กทอรีการทำงาน ซึ่งเทียบเท่ากับ -d ฟื้น ตัวเลือก
-R, --dereference-เรียกซ้ำ
อ่านไฟล์ทั้งหมดภายใต้แต่ละไดเร็กทอรีซ้ำๆ ตามลิงค์สัญลักษณ์ทั้งหมด
แตกต่าง -r.
อื่นๆ Options
--line-บัฟเฟอร์
ใช้การบัฟเฟอร์บรรทัดบนเอาต์พุต นี้อาจทำให้เกิดโทษประสิทธิภาพ
-U, --ไบนารี่
ถือว่าไฟล์เป็นไบนารี ตามค่าเริ่มต้น ภายใต้ MS-DOS และ MS-Windows grep เดา
ประเภทไฟล์โดยดูจากเนื้อหาของไฟล์ 32KB แรกที่อ่านจากไฟล์ ถ้า
grep ตัดสินใจว่าไฟล์นั้นเป็นไฟล์ข้อความ โดยจะตัดอักขระ CR ออกจากต้นฉบับ
เนื้อหาไฟล์ (เพื่อสร้างนิพจน์ทั่วไปด้วย ^ และ $ ทำงานได้อย่างถูกต้อง)
ระบุ -U ลบล้างการคาดเดานี้ ทำให้ไฟล์ทั้งหมดถูกอ่านและส่งต่อไปยัง
กลไกการจับคู่แบบคำต่อคำ ถ้าไฟล์นั้นเป็นไฟล์ข้อความที่มีคู่ CR/LF ที่
สิ้นสุดแต่ละบรรทัด ซึ่งจะทำให้นิพจน์ทั่วไปบางรายการล้มเหลว ตัวเลือกนี้
ไม่มีผลกับแพลตฟอร์มอื่นนอกจาก MS-DOS และ MS-Windows
-z, --null-ข้อมูล
ถือว่าอินพุตเป็นชุดของบรรทัด แต่ละบรรทัดสิ้นสุดด้วยศูนย์ไบต์ (ASCII NUL
อักขระ) แทนการขึ้นบรรทัดใหม่ ชอบ -Z or --โมฆะ ตัวเลือก ตัวเลือกนี้สามารถ
ใช้กับคำสั่งเช่น ประเภท -z เพื่อประมวลผลชื่อไฟล์โดยพลการ
ปกติ การแสดงออก
นิพจน์ทั่วไปเป็นรูปแบบที่อธิบายชุดของสตริง นิพจน์ทั่วไป
ถูกสร้างขึ้นคล้ายกับนิพจน์เลขคณิต โดยใช้ตัวดำเนินการต่างๆ to
รวมนิพจน์ที่เล็กกว่า
grep เข้าใจไวยากรณ์นิพจน์ทั่วไปสามเวอร์ชันที่แตกต่างกัน: "พื้นฐาน" (BRE)
"ขยาย" (ERE) และ "perl" (PCRE) ใน GNU grep,ไม่มีความแตกต่างใน Available
การทำงานระหว่างไวยากรณ์พื้นฐานและแบบขยาย ในการใช้งานอื่น ๆ พื้นฐาน
นิพจน์ทั่วไปมีประสิทธิภาพน้อยกว่า คำอธิบายต่อไปนี้ใช้กับส่วนขยาย
นิพจน์ทั่วไป ความแตกต่างสำหรับนิพจน์ทั่วไปพื้นฐานจะถูกสรุปในภายหลัง
นิพจน์ทั่วไปของ Perl ให้ฟังก์ชันการทำงานเพิ่มเติม และมีการบันทึกไว้ใน
ไวยากรณ์พีซี(3) และ รูปแบบคอมพิวเตอร์(3) แต่จะทำงานได้ก็ต่อเมื่อมี PCRE อยู่ในระบบ
ส่วนประกอบพื้นฐานคือนิพจน์ทั่วไปที่ตรงกับอักขระตัวเดียว
อักขระส่วนใหญ่ รวมทั้งตัวอักษรและตัวเลขทั้งหมด เป็นนิพจน์ทั่วไปที่ตรงกัน
ตัวพวกเขาเอง. meta-character ใด ๆ ที่มีความหมายพิเศษสามารถยกมาข้างหน้าด้วย a
แบ็กสแลช
ช่วงเวลา . ตรงกับอักขระตัวเดียว
คาแรคเตอร์ เรียน และ วงเล็บ การแสดงออก
A วงเล็บ การแสดงออก เป็นรายการอักขระที่ล้อมรอบโดย [ และ ]. ตรงกับทุกซิงเกิ้ล
ตัวละครในรายการนั้น ถ้าตัวอักษรตัวแรกของรายการคือคาเร็ต ^ แล้วมันเข้ากัน
ตัวอักษรใด ๆ ไม่ ในรายการ ตัวอย่างเช่น นิพจน์ทั่วไป [0123456789] ที่ตรงกัน
ตัวเลขใดหลักหนึ่ง
ภายในนิพจน์วงเล็บ a พิสัย การแสดงออก ประกอบด้วยอักขระสองตัวคั่นด้วย a
ยัติภังค์. โดยจะจับคู่อักขระตัวเดียวที่จัดเรียงระหว่างอักขระทั้งสอง รวมทั้ง
โดยใช้ลำดับการเรียงของโลแคลและชุดอักขระ ตัวอย่างเช่น ในค่าเริ่มต้น C
สถานที่ [โฆษณา] เทียบเท่ากับ [เอบีซีดี]. สถานที่หลายแห่งจัดเรียงอักขระตามลำดับพจนานุกรม
และในสถานที่เหล่านี้ [โฆษณา] มักจะไม่เท่ากับ [เอบีซีดี]; มันอาจจะเทียบเท่า
ไปยัง [aBbCcDd], ตัวอย่างเช่น. เพื่อให้ได้การตีความแบบดั้งเดิมของวงเล็บ
นิพจน์ คุณสามารถใช้ภาษา C โดยการตั้งค่า LC_ALL ตัวแปรสภาพแวดล้อมเป็น
ความคุ้มค่า C.
สุดท้าย คลาสของอักขระที่มีชื่อบางคลาสถูกกำหนดไว้ล่วงหน้าภายในนิพจน์วงเล็บ as
ดังต่อไปนี้ ชื่อของพวกเขาอธิบายตนเองได้และพวกเขาก็ [:อัลบั้ม:], [:อัลฟ่า:], [:ควบคุม:],
[:ตัวเลข:], [:กราฟ:], [:ต่ำกว่า:], [:พิมพ์:], [:หมัด:], [:ช่องว่าง:], [:บน:]และ
[:xdigit:]. ตัวอย่างเช่น [[:อัลบั้ม:]] หมายถึงคลาสอักขระของตัวเลขและตัวอักษรใน
สถานที่ปัจจุบัน ในการเข้ารหัสชุดอักขระ C locale และ ASCII จะเหมือนกับ
[0-9A-ซ่า-ซ]. (โปรดทราบว่าวงเล็บในชื่อคลาสเหล่านี้เป็นส่วนหนึ่งของชื่อเชิงสัญลักษณ์
และต้องรวมไว้นอกเหนือจากวงเล็บที่คั่นนิพจน์วงเล็บ) Most
อักขระเมตาสูญเสียความหมายพิเศษภายในนิพจน์วงเล็บ รวม a
ตามตัวอักษร ] วางไว้ก่อนในรายการ ในทำนองเดียวกัน ให้รวมตัวอักษร ^ วางไว้ที่ใดก็ได้
แต่แรก. สุดท้าย ให้รวมตัวอักษร - วางไว้ล่าสุด
ทอดสมอ
คาเร็ต ^ และเครื่องหมายดอลลาร์ $ เป็น meta-character ที่ตรงกับช่องว่าง
สตริงที่จุดเริ่มต้นและจุดสิ้นสุดของบรรทัด
พื้นที่ ทับขวา คาแรคเตอร์ และ พิเศษ การแสดงออก
สัญลักษณ์ \< และ \> จับคู่สตริงว่างที่จุดเริ่มต้นและจุดสิ้นสุดของ a . ตามลำดับ
คำ. สัญลักษณ์ \b จับคู่สตริงว่างที่ขอบของคำ และ \B ตรงกับ
สตริงว่างหากเป็น ไม่ ที่ขอบของคำ สัญลักษณ์ \w เป็นคำพ้องความหมายสำหรับ
[_[:ศิษย์เก่า:]] และ \W เป็นคำพ้องความหมายสำหรับ [^_[:ศิษย์เก่า:]].
การทำซ้ำ
นิพจน์ทั่วไปอาจตามด้วยตัวดำเนินการซ้ำหลายตัว:
? รายการก่อนหน้าเป็นทางเลือกและจับคู่ได้ไม่เกินครั้งเดียว
* รายการก่อนหน้าจะถูกจับคู่เป็นศูนย์หรือมากกว่าครั้ง
+ รายการก่อนหน้าจะถูกจับคู่อย่างน้อยหนึ่งครั้ง
{n} รายการก่อนหน้าตรงกันทุกประการ n ครั้ง
{n,} รายการก่อนหน้าตรงกัน n หรือมากกว่าครั้ง
{,m} รายการก่อนหน้าตรงกันมากที่สุด m ครั้ง นี่คือส่วนขยายของ GNU
{n,m} รายการก่อนหน้ามีการจับคู่อย่างน้อย n ครั้งแต่ไม่เกิน m ครั้ง
เรียงต่อกัน
นิพจน์ทั่วไปสองนิพจน์อาจต่อกัน นิพจน์ทั่วไปที่เป็นผลลัพธ์ตรงกับ any
สตริงที่เกิดขึ้นจากการต่อสตริงย่อยสองสตริงที่ตรงกับสตริงที่ต่อกันตามลำดับ
นิพจน์
ทางเลือก
ตัวดำเนินการ infix อาจรวมนิพจน์ทั่วไปสองนิพจน์เข้าด้วยกัน |; ผลลัพธ์ปกติ
นิพจน์ตรงกับสตริงใด ๆ ที่ตรงกับนิพจน์ทางเลือก
ฐานันดร
การทำซ้ำมีความสำคัญเหนือการต่อกัน ซึ่งจะมีความสำคัญมากกว่า
การสลับ นิพจน์ทั้งหมดอาจอยู่ในวงเล็บเพื่อแทนที่สิ่งเหล่านี้
กฎลำดับความสำคัญและสร้างนิพจน์ย่อย
หลัง อ้างอิง และ นิพจน์ย่อย
ข้อมูลอ้างอิงย้อนหลัง \nที่นี่มี n เป็นตัวเลขตัวเดียวตรงกับสตริงย่อยที่ตรงกันก่อนหน้านี้
โดย nนิพจน์ย่อยในวงเล็บของนิพจน์ทั่วไป
ขั้นพื้นฐาน vs ขยาย ปกติ การแสดงออก
ในนิพจน์ทั่วไปพื้นฐาน meta-characters ?, +, {, |, (และ ) สูญเสียความพิเศษของพวกเขา
ความหมาย; ใช้เวอร์ชันแบ็กสแลชแทน \?, \+, \{, \|, \(และ \).
และพวกเรา ตัวแปร
พฤติกรรมของ grep ได้รับผลกระทบจากตัวแปรสภาพแวดล้อมต่อไปนี้
สถานที่สำหรับหมวดหมู่ แอลซี_foo ถูกกำหนดโดยการตรวจสอบสามตัวแปรสภาพแวดล้อม
LC_ALL, แอลซี_foo, ภาษา, เพื่อให้. ตัวแปรตัวแรกที่ถูกกำหนดไว้คือ
สถานที่ ตัวอย่างเช่น if LC_ALL ไม่ได้กำหนดไว้แต่ LC_MESSAGES ถูกตั้งค่าเป็น pt_BRแล้ว
ภาษาโปรตุเกสแบบบราซิลใช้สำหรับ LC_MESSAGES หมวดหมู่. โลแคล C ถูกใช้ if
ไม่มีการตั้งค่าตัวแปรสภาพแวดล้อมเหล่านี้ หากไม่ได้ติดตั้งแค็ตตาล็อกโลแคล หรือ if
grep ไม่ได้รวบรวมด้วยการสนับสนุนภาษาประจำชาติ (NLS)
GREP_OPTIONS
ตัวแปรนี้ระบุตัวเลือกเริ่มต้นที่จะวางไว้ข้างหน้าอย่างชัดเจน
ตัวเลือก. เนื่องจากสิ่งนี้ทำให้เกิดปัญหาในการเขียนสคริปต์แบบพกพา คุณสมบัตินี้จะ
จะถูกลบออกในการเปิดตัวในอนาคตของ grepและ grep เตือนถ้าใช้ โปรดใช้
นามแฝงหรือสคริปต์แทน
GREP_COLOR
ตัวแปรนี้ระบุสีที่ใช้เน้นข้อความที่ตรงกัน (ไม่ว่างเปล่า) มัน
เลิกใช้เพื่อสนับสนุน GREP_COLORSแต่ก็ยังสนับสนุน NS mt, msและ mc
ความสามารถของ GREP_COLORS มีลำดับความสำคัญเหนือมัน ระบุได้เฉพาะสี
ใช้เพื่อเน้นข้อความที่ไม่ว่างเปล่าที่ตรงกันในบรรทัดที่ตรงกัน (บรรทัดที่เลือก
เมื่อ -v ตัวเลือกบรรทัดคำสั่งถูกละเว้น หรือบรรทัดบริบทเมื่อ -v is
ระบุไว้) ค่าเริ่มต้นคือ 01, 31ซึ่งหมายถึงข้อความพื้นหน้าสีแดงตัวหนาบน
พื้นหลังเริ่มต้นของเทอร์มินัล
GREP_COLORS
ระบุสีและคุณลักษณะอื่นๆ ที่ใช้เพื่อเน้นส่วนต่างๆ ของ
เอาท์พุท ค่าของมันคือรายการความสามารถที่คั่นด้วยโคลอนซึ่งมีค่าเริ่มต้นเป็น
ms=01;31:mc=01;31:sl=:cx=:fn=35:ln=32:bn=32:se=36 กับ rv และ ne บูล
ละความสามารถ (เช่น เท็จ) ความสามารถที่รองรับมีดังนี้
สล= สตริงย่อย SGR สำหรับบรรทัดที่เลือกทั้งหมด (เช่น บรรทัดที่ตรงกันเมื่อ -v
ละเว้นตัวเลือกบรรทัดคำสั่งหรือบรรทัดที่ไม่ตรงกันเมื่อ -v ระบุไว้)
อย่างไรก็ตามหากบูลีน rv ความสามารถและ -v ตัวเลือกบรรทัดคำสั่งมีทั้ง
ที่ระบุ จะใช้กับบรรทัดการจับคู่บริบทแทน ค่าเริ่มต้นคือ
ว่างเปล่า (เช่น คู่สีเริ่มต้นของเทอร์มินัล)
คx= สตริงย่อย SGR สำหรับบรรทัดบริบททั้งหมด (เช่น บรรทัดที่ไม่ตรงกันเมื่อ -v
ละเว้นตัวเลือกบรรทัดคำสั่งหรือบรรทัดที่ตรงกันเมื่อ -v ระบุไว้) ถ้า
อย่างไรก็ตามบูลีน rv ความสามารถและ -v ตัวเลือกบรรทัดคำสั่งมีทั้ง
ที่ระบุ จะใช้กับบรรทัดที่ไม่ตรงกันที่เลือกแทน ค่าเริ่มต้น
ว่างเปล่า (เช่น คู่สีเริ่มต้นของเทอร์มินัล)
rv ค่าบูลีนที่กลับ (สลับ) ความหมายของ สล= และ คx=
ความสามารถเมื่อ -v มีการระบุตัวเลือกบรรทัดคำสั่ง ค่าเริ่มต้นคือ
เท็จ (กล่าวคือ ละเว้นความสามารถ)
มธ=01;31
สตริงย่อย SGR สำหรับจับคู่ข้อความที่ไม่ว่างเปล่าในบรรทัดที่ตรงกัน (เช่น a
บรรทัดที่เลือกเมื่อ -v ละเว้นตัวเลือกบรรทัดคำสั่งหรือบรรทัดบริบท
เมื่อ -v ระบุไว้) การตั้งค่านี้เทียบเท่ากับการตั้งค่าทั้ง นางสาว= และ
แมค= ในครั้งเดียวเป็นค่าเดียวกัน ค่าเริ่มต้นคือพื้นหน้าข้อความสีแดงตัวหนา
เหนือพื้นหลังบรรทัดปัจจุบัน
มิลลิวินาที=01;31
สตริงย่อย SGR สำหรับจับคู่ข้อความที่ไม่ว่างเปล่าในบรรทัดที่เลือก (นี่เท่านั้น
ใช้เมื่อ -v ตัวเลือกบรรทัดคำสั่งถูกละไว้) ผลกระทบของ สล= (หรือ
คx= if rv) ความสามารถยังคงใช้งานได้เมื่อสิ่งนี้เริ่มทำงาน ค่าเริ่มต้นคือ a
เบื้องหน้าข้อความสีแดงตัวหนาเหนือพื้นหลังบรรทัดปัจจุบัน
แมค=01;31
สตริงย่อย SGR สำหรับการจับคู่ข้อความที่ไม่ว่างเปล่าในบรรทัดบริบท (นี่เท่านั้น
ใช้เมื่อ -v มีการระบุตัวเลือกบรรทัดคำสั่ง) ผลกระทบของ คx=
(หรือ สล= if rv) ความสามารถยังคงใช้งานได้เมื่อสิ่งนี้เริ่มทำงาน ค่าเริ่มต้นคือ
เบื้องหน้าข้อความสีแดงตัวหนาเหนือพื้นหลังบรรทัดปัจจุบัน
fn=35 สตริงย่อย SGR สำหรับชื่อไฟล์ที่นำหน้าบรรทัดเนื้อหาใดๆ ค่าเริ่มต้นคือ a
เบื้องหน้าข้อความสีม่วงเหนือพื้นหลังเริ่มต้นของเทอร์มินัล
ลน=32 สตริงย่อย SGR สำหรับหมายเลขบรรทัดที่นำหน้าบรรทัดเนื้อหาใดๆ ค่าเริ่มต้นคือ a
เบื้องหน้าข้อความสีเขียวเหนือพื้นหลังเริ่มต้นของเทอร์มินัล
พันล้าน=32 สตริงย่อย SGR สำหรับไบต์ออฟเซ็ตนำหน้าบรรทัดเนื้อหาใดๆ ค่าเริ่มต้นคือ a
เบื้องหน้าข้อความสีเขียวเหนือพื้นหลังเริ่มต้นของเทอร์มินัล
se=36 สตริงย่อย SGR สำหรับตัวคั่นที่แทรกระหว่างฟิลด์บรรทัดที่เลือก
(:) ระหว่างฟิลด์บรรทัดบริบท (-) และระหว่างกลุ่มของเส้นที่อยู่ติดกัน
เมื่อระบุบริบทที่ไม่ใช่ศูนย์ (--). ค่าเริ่มต้นคือข้อความสีฟ้า
เบื้องหน้าเหนือพื้นหลังเริ่มต้นของเทอร์มินัล
ne ค่าบูลีนที่ป้องกันการหักล้างไปยังจุดสิ้นสุดบรรทัดโดยใช้ Erase ใน Line
(EL) ไปทางขวา (\33[เค) ทุกครั้งที่รายการที่มีสีสิ้นสุดลง นี่เป็นสิ่งจำเป็นใน
ขั้วต่อที่ไม่รองรับ EL มีประโยชน์อย่างอื่นบนเทอร์มินัล
ซึ่ง back_color_erase (คริสตศักราช) ความสามารถ terminfo บูลีนไม่ได้
ใช้เมื่อสีไฮไลท์ที่เลือกไม่มีผลกับพื้นหลังหรือ
เมื่อ EL ช้าเกินไปหรือทำให้เกิดการสั่นไหวมากเกินไป ค่าเริ่มต้นเป็นเท็จ (เช่น
ความสามารถถูกละเว้น)
โปรดทราบว่าความสามารถบูลีนไม่มี =... ส่วนหนึ่ง. พวกเขาจะถูกละเว้น (เช่นเท็จ)
โดยค่าเริ่มต้นและเป็นจริงเมื่อระบุไว้
ดูส่วน Select Graphic Rendition (SGR) ในเอกสารประกอบของข้อความ
เทอร์มินัลที่ใช้สำหรับค่าที่อนุญาตและความหมายเป็นตัวอักษร
คุณลักษณะ. ค่าสตริงย่อยเหล่านี้เป็นจำนวนเต็มในการแสดงทศนิยมและ can
จะต่อกันด้วยเครื่องหมายอัฒภาค grep ดูแลการรวบรวมผลลัพธ์เป็น
ลำดับ SGR ที่สมบูรณ์ (\33[...m). ค่าทั่วไปที่จะต่อกันได้แก่ 1 สำหรับตัวหนา
4 สำหรับขีดเส้นใต้ 5 สำหรับการกะพริบตา 7 สำหรับผกผัน 39 สำหรับสีพื้นหน้าเริ่มต้น 30 ไปยัง
37 สำหรับสีพื้นหน้า 90 ไปยัง 97 สำหรับสีพื้นหน้าโหมด 16 สี 38; 5; 0 ไปยัง
38; 5; 255 สำหรับสีพื้นหน้าโหมด 88 สีและ 256 สี 49 สำหรับค่าเริ่มต้น
สีพื้นหลัง, 40 ไปยัง 47 สำหรับสีพื้นหลัง 100 ไปยัง 107 สำหรับโหมด 16 สี
สีพื้นหลังและ 48; 5; 0 ไปยัง 48; 5; 255 สำหรับโหมด 88 สีและ 256 สี
สีพื้นหลัง
LC_ALL, LC_COLLATE, ภาษา
ตัวแปรเหล่านี้ระบุสถานที่สำหรับ LC_COLLATE หมวดหมู่ซึ่งกำหนด
ลำดับการเรียงที่ใช้ในการตีความนิพจน์ช่วงเช่น [az].
LC_ALL, LC_CTYPE, ภาษา
ตัวแปรเหล่านี้ระบุสถานที่สำหรับ LC_CTYPE หมวดหมู่ซึ่งกำหนด
ประเภทของอักขระ เช่น อักขระใดเป็นช่องว่าง
LC_ALL, LC_MESSAGES, ภาษา
ตัวแปรเหล่านี้ระบุสถานที่สำหรับ LC_MESSAGES หมวดหมู่ซึ่งกำหนด
ภาษาที่ grep ใช้สำหรับข้อความ โลแคล C เริ่มต้นใช้ American
ข้อความภาษาอังกฤษ
POSIXLY_CORRECT
หากตั้งไว้ grep ทำงานตามที่ POSIX ต้องการ; มิฉะนั้น, grep มีลักษณะเหมือน GNU ตัวอื่นๆ
โปรแกรม POSIX กำหนดให้ตัวเลือกที่ตามหลังชื่อไฟล์ต้องถือว่าเป็น
ชื่อไฟล์; โดยค่าเริ่มต้น ตัวเลือกดังกล่าวจะถูกเรียงสับเปลี่ยนที่ด้านหน้าของรายการตัวถูกดำเนินการ
และถือเป็นทางเลือก นอกจากนี้ POSIX กำหนดให้ตัวเลือกที่ไม่รู้จักเป็น
ได้รับการวินิจฉัยว่า “ผิดกฎหมาย” แต่เนื่องจากไม่ได้ขัดต่อกฎหมายจริงๆ การผิดนัด
คือการวินิจฉัยว่าเป็น "ไม่ถูกต้อง" POSIXLY_CORRECT ยังปิดการใช้งาน
_N_GNU_nonoption_argv_flags_, อธิบายไว้ด้านล่าง.
_N_GNU_nonoption_argv_flags_
(ที่นี่ N is grepรหัสกระบวนการที่เป็นตัวเลขของ) ถ้า iลักษณะของสิ่งแวดล้อมนี้
ค่าของตัวแปรคือ 1, อย่าถือว่า iตัวถูกดำเนินการของ grep เพื่อเป็นทางเลือก
แม้ว่าจะดูเหมือนเป็นหนึ่งเดียวก็ตาม เชลล์สามารถใส่ตัวแปรนี้ในสภาพแวดล้อมสำหรับ
แต่ละคำสั่งที่รัน โดยระบุว่าตัวถูกดำเนินการใดเป็นผลลัพธ์ของชื่อไฟล์
การขยายสัญลักษณ์แทนจึงไม่ควรถือเป็นตัวเลือก พฤติกรรมนี้
ใช้ได้เฉพาะกับไลบรารี GNU C และเฉพาะเมื่อ POSIXLY_CORRECT ไม่ได้ตั้งค่า
EXIT สถานภาพ
โดยปกติสถานะการออกจะเป็น 0 หากเลือกบรรทัด 1 หากไม่ได้เลือกบรรทัดและ 2 if
เกิดข้อผิดพลาด. อย่างไรก็ตาม หาก -q or --เงียบ or --เงียบ ถูกใช้และบรรทัดคือ
เลือก สถานะออกคือ 0 แม้ว่าจะมีข้อผิดพลาดเกิดขึ้น
ลิขสิทธิ์
ลิขสิทธิ์ 1998-2000, 2002, 2005-2016 Free Software Foundation, Inc.
นี่เป็นซอฟต์แวร์ฟรี ดูแหล่งที่มาสำหรับการคัดลอกเงื่อนไข ไม่มีการรับประกัน ไม่
แม้กระทั่งเพื่อการค้าหรือความเหมาะสมสำหรับวัตถุประสงค์เฉพาะ
ใช้ fgrep ออนไลน์โดยใช้บริการ onworks.net