นี่คือคำสั่ง grepposix ที่สามารถเรียกใช้ในผู้ให้บริการโฮสต์ฟรีของ OnWorks โดยใช้เวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS
โครงการ:
ชื่อ
grep — ค้นหาไฟล์สำหรับรูปแบบ
เรื่องย่อ
grep [−อี|−ฉ] [−ค|−ล|−q] [-insvx] -อี pattern_list
[-อี pattern_list]... [-ฉ รูปแบบ_ไฟล์]... [ไฟล์...]
grep [−อี|−ฉ] [−ค|−ล|−q] [-insvx] [-อี pattern_list] ...
-ฉ รูปแบบ_ไฟล์ [-ฉ รูปแบบ_ไฟล์]... [ไฟล์...]
grep [−อี|−ฉ] [−ค|−ล|−q] [-insvx] pattern_list [ไฟล์...]
DESCRIPTION
พื้นที่ grep ยูทิลิตี้จะค้นหาไฟล์อินพุตโดยเลือกบรรทัดที่ตรงกับอย่างน้อยหนึ่งรายการ
รูปแบบ; ประเภทของรูปแบบจะถูกควบคุมโดยตัวเลือกที่ระบุ รูปแบบคือ
ระบุโดย -อี ตัวเลือก -ฉ ตัวเลือกหรือ pattern_list ตัวถูกดำเนินการ NS pattern_list's
ค่าจะต้องประกอบด้วยรูปแบบตั้งแต่หนึ่งรูปแบบขึ้นไปคั่นด้วย ตัวอักษร; NS
รูปแบบ_ไฟล์เนื้อหาจะต้องประกอบด้วยรูปแบบอย่างน้อยหนึ่งรูปแบบที่ยุติโดย
อักขระ. โดยค่าเริ่มต้น บรรทัดอินพุตจะถูกเลือกหากมีรูปแบบใด ๆ ถือว่าเป็น
นิพจน์ทั่วไปพื้นฐานทั้งหมด (BRE) ตามที่อธิบายไว้ในปริมาณคำจำกัดความพื้นฐานของ
POSIX.1–2008, Section 9.3, ขั้นพื้นฐาน ปกติ การแสดงออกตรงกับส่วนใดส่วนหนึ่งของบรรทัด
ยกเว้นการสิ้นสุด ; null BRE จะตรงกับทุกบรรทัด โดยค่าเริ่มต้น each
บรรทัดอินพุตที่เลือกจะถูกเขียนไปยังเอาต์พุตมาตรฐาน
การจับคู่นิพจน์ทั่วไปจะขึ้นอยู่กับบรรทัดข้อความ ตั้งแต่ แยกออกหรือ
ยุติรูปแบบ (ดู -อี และ -ฉ ตัวเลือกด้านล่าง) นิพจน์ทั่วไปไม่สามารถมี
NS . ในทำนองเดียวกัน เนื่องจากรูปแบบจะถูกจับคู่กับแต่ละบรรทัด (ยกเว้น
การสิ้นสุด ตัวอักษร) ของอินพุตไม่มีทางที่จะจับคู่รูปแบบได้
NS พบในอินพุต
OPTIONS
พื้นที่ grep ยูทิลิตี้จะต้องสอดคล้องกับปริมาณคำจำกัดความพื้นฐานของ POSIX.1-2008 Section
12.2, ประโยชน์ วากยสัมพันธ์ แนวทาง.
รองรับตัวเลือกต่อไปนี้:
-อี จับคู่โดยใช้นิพจน์ทั่วไปแบบขยาย ปฏิบัติต่อแต่ละรูปแบบที่ระบุเป็น an
ERE ตามที่อธิบายไว้ในปริมาณคำจำกัดความพื้นฐานของ POSIX.1-2008 Section 9.4,
ขยาย ปกติ การแสดงออก. หากรูปแบบ ERE ทั้งหมดตรงกับบางส่วนของan
สายอินพุตไม่รวมจุดสิ้นสุด , เส้นจะถูกจับคู่ NS
null ERE จะตรงกับทุกบรรทัด
-ฉ จับคู่โดยใช้สตริงคงที่ ปฏิบัติต่อแต่ละรูปแบบที่ระบุเป็นสตริงแทน a
การแสดงออกปกติ หากบรรทัดอินพุตมีรูปแบบใด ๆ เป็น a
ลำดับที่ต่อเนื่องกันของไบต์ บรรทัดจะถูกจับคู่ สตริงว่างจะ
ตรงกับทุกบรรทัด
-ค เขียนเฉพาะจำนวนบรรทัดที่เลือกไปยังเอาต์พุตมาตรฐาน
-อี pattern_list
ระบุอย่างน้อยหนึ่งรูปแบบที่จะใช้ระหว่างการค้นหาอินพุต NS
แอปพลิเคชันจะต้องตรวจสอบให้แน่ใจว่ารูปแบบใน pattern_list คั่นด้วย a
. รูปแบบ null สามารถระบุได้โดยสองตัวที่อยู่ติดกัน ตัวอักษร
in pattern_list. เว้นแต่ไฟล์ -อี or -ฉ ระบุตัวเลือกแต่ละแบบด้วย
จะต้องได้รับการปฏิบัติเป็น BRE ตามที่อธิบายไว้ในปริมาณคำจำกัดความพื้นฐานของ
POSIX.1–2008, Section 9.3, ขั้นพื้นฐาน ปกติ การแสดงออก. หลายรายการ -อี และ -ฉ
ตัวเลือกจะได้รับการยอมรับโดย grep คุณประโยชน์. ทุกแบบที่กำหนด
จะใช้เมื่อจับคู่สายแต่ไม่ได้ระบุลำดับการประเมิน
-ฉ รูปแบบ_ไฟล์
อ่านหนึ่งรูปแบบหรือมากกว่าจากไฟล์ที่ตั้งชื่อตามชื่อพาธ รูปแบบ_ไฟล์.
รูปแบบใน รูปแบบ_ไฟล์ จะสิ้นสุดลงโดย . รูปแบบว่างสามารถ
ระบุด้วยบรรทัดว่างใน รูปแบบ_ไฟล์. เว้นแต่ไฟล์ -อี or -ฉ ตัวเลือกที่
ระบุไว้ด้วย แต่ละรูปแบบจะถือว่าเป็น BRE ตามที่อธิบายไว้ใน Base
ปริมาณคำจำกัดความของ POSIX.1-2008, Section 9.3, ขั้นพื้นฐาน ปกติ การแสดงออก.
-ฉัน ทำการจับคู่รูปแบบในการค้นหาโดยไม่คำนึงถึงตัวพิมพ์ ดูฐาน
ปริมาณคำจำกัดความของ POSIX.1-2008, Section 9.2, ปกติ การแสดงออก General
ความต้องการ.
-ล (จดหมาย el.) เขียนเฉพาะชื่อไฟล์ที่มีบรรทัดที่เลือกไปยัง
เอาต์พุตมาตรฐาน ชื่อพาธจะถูกเขียนหนึ่งครั้งต่อการค้นหาไฟล์ ถ้า
ค้นหาอินพุตมาตรฐานชื่อพา ธ ของ "(มาตรฐานข้อมูลเข้า)" ให้เขียนเป็น
โลแคล POSIX ในสถานที่อื่นๆ "มาตรฐานอินพุต" อาจถูกแทนที่ด้วยบางสิ่ง
เหมาะสมกว่าในสถานที่เหล่านั้น
-น นำหน้าแต่ละบรรทัดเอาต์พุตด้วยหมายเลขบรรทัดสัมพัทธ์ในไฟล์ แต่ละไฟล์
เริ่มต้นที่บรรทัดที่ 1 ตัวนับจำนวนบรรทัดจะถูกรีเซ็ตสำหรับแต่ละไฟล์
ประมวลผล.
-q เงียบ. ไม่มีอะไรจะเขียนลงในเอาต์พุตมาตรฐาน โดยไม่คำนึงถึงการจับคู่
เส้น ออกโดยมีสถานะเป็นศูนย์หากเลือกบรรทัดอินพุต
-s ระงับข้อความแสดงข้อผิดพลาดที่เขียนตามปกติว่าไม่มีอยู่หรือไม่สามารถอ่านได้
ไฟล์. ข้อความแสดงข้อผิดพลาดอื่น ๆ จะไม่ถูกระงับ
-v เลือกเส้นที่ไม่ตรงกับรูปแบบใดๆ ที่ระบุ ถ้า -v ตัวเลือกไม่ได้
ที่ระบุ เส้นที่เลือกจะเป็นเส้นที่ตรงกับข้อใด ๆ ที่ระบุ
รูปแบบ
-x พิจารณาเฉพาะบรรทัดป้อนข้อมูลที่ใช้อักขระทั้งหมดในบรรทัดยกเว้น
สิ้นสุด เพื่อจับคู่สตริงคงที่ทั้งหมดหรือนิพจน์ทั่วไปกับ
เป็นเส้นตรง
ตัวดำเนินการ
ตัวถูกดำเนินการดังต่อไปนี้จะได้รับการสนับสนุน:
pattern_list
ระบุอย่างน้อยหนึ่งรูปแบบที่จะใช้ระหว่างการค้นหาอินพุต นี้
ตัวถูกดำเนินการให้ปฏิบัติเสมือนว่าถูกระบุเป็น -อี pattern_list.
ไฟล์ ชื่อพาธของไฟล์ที่จะค้นหารูปแบบ ถ้าไม่ ไฟล์ ตัวถูกดำเนินการคือ
กำหนดให้ใช้อินพุตมาตรฐาน
STDIN
อินพุตมาตรฐานจะถูกนำมาใช้หากไม่มี ไฟล์ มีการระบุตัวถูกดำเนินการ และจะใช้ในกรณีที่ a
ไฟล์ ตัวถูกดำเนินการคือ '-' และการดำเนินการปฏิบัติต่อ '-' เป็นความหมายอินพุตมาตรฐาน
มิฉะนั้น จะไม่สามารถใช้อินพุตมาตรฐานได้ ดูส่วนไฟล์อินพุต
INPUT ไฟล์
ไฟล์อินพุตจะเป็นไฟล์ข้อความ
และพวกเรา ตัวแปร
ตัวแปรสภาพแวดล้อมต่อไปนี้จะส่งผลต่อการดำเนินการของ grep:
ภาษา ระบุค่าเริ่มต้นสำหรับตัวแปรการทำให้เป็นสากลที่ไม่ได้ตั้งค่าหรือ
โมฆะ. (ดูปริมาณคำจำกัดความพื้นฐานของ POSIX.1-2008 Section 8.2,
สากล ตัวแปร เพื่อความเหนือกว่าของความเป็นสากล
ตัวแปรที่ใช้ในการกำหนดค่าของหมวดหมู่สถานที่)
LC_ALL หากตั้งค่าเป็นค่าสตริงที่ไม่ว่าง ให้แทนที่ค่าของค่าอื่นๆ ทั้งหมด
ตัวแปรความเป็นสากล
LC_COLLATE
กำหนดโลแคลสำหรับพฤติกรรมของช่วง คลาสสมมูล และมัลติ-
องค์ประกอบการเรียงอักขระภายในนิพจน์ทั่วไป
LC_CTYPE กำหนดสถานที่สำหรับการตีความลำดับไบต์ของข้อมูลข้อความ
เป็นอักขระ (เช่น ไบต์เดี่ยวเมื่อเทียบกับอักขระหลายไบต์ใน
อาร์กิวเมนต์และไฟล์อินพุต) และพฤติกรรมของคลาสอักขระภายใน Regular
นิพจน์
LC_MESSAGES
กำหนดโลแคลที่ควรใช้เพื่อส่งผลต่อรูปแบบและเนื้อหาของ
ข้อความวินิจฉัยที่เขียนถึงข้อผิดพลาดมาตรฐาน
นศ กำหนดตำแหน่งของแค็ตตาล็อกข้อความสำหรับการประมวลผลของ LC_MESSAGES.
อะซิงโครนัส กิจกรรม
ผิดนัด
STDOUT
ถ้า -ล ตัวเลือกมีผลบังคับ ให้เขียนสิ่งต่อไปนี้สำหรับแต่ละไฟล์ที่มี at
อย่างน้อยหนึ่งบรรทัดอินพุตที่เลือก:
"%s\n", <ไฟล์>
มิฉะนั้นถ้ามีมากกว่าหนึ่ง ไฟล์ อาร์กิวเมนต์ปรากฏขึ้นและ -q ไม่ได้ระบุไว้ grep
ยูทิลิตี้จะต้องนำหน้าแต่ละบรรทัดเอาต์พุตโดย:
"%NS:", <ไฟล์>
ส่วนที่เหลือของแต่ละสายเอาต์พุตจะขึ้นอยู่กับตัวเลือกอื่นๆ ที่ระบุ:
* ถ้า -ค ทางเลือกมีผล ส่วนที่เหลือของแต่ละสายการส่งออกจะต้องมี:
"%d\n", <นับ>
* มิฉะนั้น if -ค ไม่ได้มีผลบังคับใช้และ -น ทางเลือกที่มีผลใช้บังคับดังต่อไปนี้จะต้อง
ถูกเขียนไปยังเอาต์พุตมาตรฐาน:
"%NS:", <เส้น จำนวน>
* ในที่สุด สิ่งต่อไปนี้จะถูกเขียนไปยังเอาต์พุตมาตรฐาน:
"%NS", <เลือกบรรทัด เนื้อหา>
สแตเดอร์
ข้อผิดพลาดมาตรฐานจะใช้สำหรับข้อความวินิจฉัยเท่านั้น
เอาท์พุท ไฟล์
ไม่
ขยาย DESCRIPTION
ไม่
EXIT สถานภาพ
ค่าทางออกต่อไปนี้จะถูกส่งคืน:
0 เลือกหนึ่งบรรทัดขึ้นไป
1 ไม่ได้เลือกบรรทัด
>1 เกิดข้อผิดพลาด
ผลกระทบที่เกิด OF ข้อผิดพลาด
ถ้า -q ระบุตัวเลือกแล้ว สถานะทางออกจะเป็นศูนย์หากเลือกสายป้อนเข้า
แม้ว่าจะตรวจพบข้อผิดพลาด มิฉะนั้น จะดำเนินการตามค่าเริ่มต้น
พื้นที่ ดังต่อไปนี้ ส่วน เป็น ข้อมูล.
ใบสมัคร การใช้
ควรใช้ความระมัดระวังเมื่อใช้อักขระใน pattern_list ที่อาจมีความหมายถึง
ล่ามคำสั่ง การปิดล้อมทั้งหมดจะปลอดภัยที่สุด pattern_list อาร์กิวเมนต์ใน
คำพูดเดียว:
'...'
พื้นที่ -อี pattern_list ตัวเลือกมีผลเช่นเดียวกับ pattern_list ตัวถูกดำเนินการ แต่มีประโยชน์
เมื่อ pattern_list เริ่มต้นด้วย ตัวคั่น นอกจากนี้ยังเป็นประโยชน์เมื่อมากขึ้น
สะดวกในการจัดเตรียมหลายรูปแบบเป็นอาร์กิวเมนต์แยกกัน
แพลตฟอร์มที่หลากหลาย -อี และ -ฉ ยอมรับตัวเลือกและ grep ใช้รูปแบบทั้งหมดที่ได้รับ
ในขณะที่จับคู่บรรทัดข้อความที่ป้อน (หมายเหตุ ลำดับการประเมินไม่ได้ระบุ ถ้า
การนำไปใช้จะพบสตริงว่างเป็นรูปแบบ อนุญาตให้ใช้รูปแบบนั้นได้
อันดับแรก จับคู่ทุกบรรทัด และละเว้นรูปแบบอื่นๆ อย่างมีประสิทธิภาพ)
พื้นที่ -q option ให้วิธีการกำหนดรูปแบบ (หรือสตริง) ได้อย่างง่ายดาย
มีอยู่ในกลุ่มของไฟล์ เมื่อค้นหาหลายไฟล์ก็ให้ประสิทธิภาพ
ปรับปรุง (เพราะสามารถออกได้ทันทีเมื่อพบคู่แรก) และต้องการน้อยกว่า
ดูแลโดยผู้ใช้ในการเลือกชุดของไฟล์ที่จะจัดหาเป็นอาร์กิวเมนต์ (เพราะออก
ศูนย์ถ้ามันพบการจับคู่แม้ว่า grep ตรวจพบข้อผิดพลาดในการเข้าถึงหรืออ่านก่อนหน้านี้ ไฟล์
ตัวถูกดำเนินการ)
ตัวอย่าง
1. เพื่อค้นหาการใช้คำทั้งหมด “โพซิก” (ทุกกรณี) ในไฟล์ ข้อความ มม และเขียนด้วยline
ตัวเลข:
grep -ฉัน -น POSIX ข้อความ มม
2. ในการค้นหาบรรทัดว่างทั้งหมดในอินพุตมาตรฐาน:
grep ^$
หรือ:
grep -v .
3. คำสั่งทั้งสองต่อไปนี้พิมพ์ทุกบรรทัดที่มีสตริง "เอบีซี" or "แน่นอน" or
ทั้งสอง:
grep -อี 'abc|def'
grep −F 'abc
def'
4. คำสั่งทั้งสองต่อไปนี้จะพิมพ์ทุกบรรทัดที่ตรงกันทุกประการ "เอบีซี" or "แน่นอน":
grep -อี '^abc$|^def$'
grep −F −x 'abc
def'
หลักการและเหตุผล
grep ได้รับการปรับปรุงในลักษณะที่เข้ากันได้ขึ้นไปเพื่อให้มีความถูกต้อง
การทำงานของประวัติศาสตร์ นกกระยาง และ เอฟเกรป คำสั่งเช่นกัน มันชัดเจน
ความตั้งใจของนักพัฒนามาตรฐานที่จะรวมสาม grepให้เป็นคำสั่งเดียว
ของเก่า นกกระยาง และ เอฟเกรป คำสั่งน่าจะได้รับการสนับสนุนเป็นเวลาหลายปีที่จะมาเป็น
ส่วนขยายการใช้งานทำให้แอปพลิเคชันในอดีตทำงานโดยไม่มีการแก้ไข
การใช้งานในอดีตมักจะละเลยอย่างเงียบๆ ทั้งหมดยกเว้นหนึ่งในการระบุการคูณ -อี
และ -ฉ ทางเลือกต่างๆ แต่ไม่สอดคล้องกับข้อกำหนดในการใช้งานจริง
พื้นที่ -ข ตัวเลือกถูกละเว้นจากส่วน OPTIONS เนื่องจากหมายเลขบล็อกคือ
กำหนดการดำเนินการ
ข้อจำกัดของระบบ V ในการใช้ - หมายถึง ละเว้นอินพุตมาตรฐาน
คำจำกัดความของการดำเนินการเมื่อได้รับค่า null BRE หรือ ERE ถูกระบุ นี่คือข้อผิดพลาด
เงื่อนไขในการใช้งานทางประวัติศาสตร์บางอย่าง
พื้นที่ -ล ตัวเลือกก่อนหน้านี้ระบุว่าการใช้งานไม่ได้ถูกกำหนดเมื่อไม่มีไฟล์
ระบุชื่ออย่างชัดเจน พฤติกรรมนี้เป็นประวัติการณ์และได้วางข้อจำกัดที่ไม่จำเป็นใน
การใช้งานในอนาคต มันถูกลบออกไปแล้ว
ประวัติศาสตร์BSD grep -s แนวทางปฏิบัติของตัวเลือกนั้นทำซ้ำได้ง่ายโดยการเปลี่ยนเส้นทางมาตรฐาน
ส่งออกไปยัง / dev / null. -s ตัวเลือกที่ต้องการที่นี่คือจาก System V
พื้นที่ -x ตัวเลือก ใช้ได้เฉพาะกับ เอฟเกรป, สามารถใช้ได้ที่นี่สำหรับ . ทั้งหมด
รุ่นที่ไม่ล้าสมัย
อนาคต ลู่ทาง
ไม่
ใช้ grepposix ออนไลน์โดยใช้บริการ onworks.net