เดอะ จับ เป็นตัวย่อของ พิมพ์นิพจน์ทั่วไปสากล และเป็นเครื่องมือบรรทัดคำสั่งที่ใช้ในการค้นหาสตริงอักขระในไฟล์เฉพาะ รูปแบบของเส้นที่ค้นหาเรียกว่า a นิพจน์ทั่วไป และเมื่อดำเนินการคำสั่งนี้จะพิมพ์บรรทัดที่ตรงกัน คำสั่งนี้ใน Linux มีประโยชน์สำหรับการกรองผ่านไฟล์ขนาดใหญ่
ด้วยคำสั่ง grep คุณสามารถค้นหาหลายคำในไฟล์ต่างๆ ในบทช่วยสอนนี้ เราจะพูดถึงการใช้ grep ในการค้นหาไฟล์หลายไฟล์ด้วยโอเปอเรเตอร์ที่แตกต่างกัน
วิธี grep หลายคำใน Linux
เดอะ จับ คำสั่งติดตั้งมาล่วงหน้าในลีนุกซ์เกือบทุกรุ่น อย่างไรก็ตาม หากไม่มี คุณสามารถติดตั้งได้โดยใช้คำสั่งต่อไปนี้:
ซูโด ฉลาดรับการติดตั้ง จับ
คำสั่ง grep ประกอบด้วยสามส่วน ส่วนแรกคือ grep ส่วนที่สองคือรูปแบบที่คุณต้องการค้นหา และส่วนที่สามคือชื่อไฟล์หรือเส้นทางของไฟล์ ไวยากรณ์ของคำสั่งสำหรับค้นหารูปแบบด้วยชื่อไฟล์คือ:
จับ 'แบบ1\|แบบ2' ชื่อไฟล์
ไวยากรณ์พื้นฐานของคำสั่ง grep สำหรับการค้นหาคำหลายคำด้วยเส้นทางของไฟล์คือ:
จับ 'แบบ1\|แบบ2' เส้นทางไฟล์
ที่นี่ฉันกำลังค้นหาหลายคำ Linux และระบบในไฟล์ doc1.txt:
จับ 'ลินุกซ์\|ระบบ' doc1.txt
หากคุณกำลังค้นหาคำหลายคำผ่านเส้นทางของไฟล์ คำสั่งจะเป็นดังนี้:
จับ 'ลินุกซ์\|ระบบ' / บ้าน / ไซนับ / เอกสาร / doc1.txt
วิธีใช้ Extended grep เพื่อค้นหาคำหลายคำ
หากต้องการค้นหาหลายคำในไฟล์เดียวให้ใช้ไฟล์ -e ตัวดำเนินการ ด้วยชื่อไฟล์หรือพาธของไฟล์ ไวยากรณ์ของคำสั่งคือ:
จับ -มันคือ รูปแบบที่ 1 -มันคือ pattern2 fileName_or_filePathที่นี่ฉันกำลังค้นหา Linux และระบบในไฟล์ doc1.txt:
จับ -มันคือ 'ลินุกซ์\|ระบบ' doc1.txt
วิธีค้นหาการจับคู่ที่ตรงกันหลายรายการโดยใช้คำสั่ง grep ใน Linux
หากต้องการค้นหารายการที่ตรงกันหลายรายการ ให้ใช้ตัวดำเนินการ -w พร้อมคำสั่ง grep ไวยากรณ์ของคำสั่งคือ:
จับ -ใน 'แบบ1\|แบบ2' ชื่อไฟล์หรือเส้นทางไฟล์ตัวอย่างเช่น:
จับ -ใน 'ลินุกซ์\|ระบบ' doc1.txt
ละเว้น Case ในคำสั่ง grep
คำสั่ง grep คำนึงถึงขนาดตัวพิมพ์และเพื่อหลีกเลี่ยงไม่ให้คุณสามารถใช้ -i โอเปอเรเตอร์ . สิ่งนี้จะพิมพ์ทั้งตัวพิมพ์ใหญ่และตัวพิมพ์เล็กที่ตรงกันของรูปแบบการป้อนข้อมูลที่กำหนด
หากคุณใช้ -i เพื่อค้นหา linux/system ใน doc1 คำสั่งจะเป็นดังนี้:
จับ -ฉัน 'ลินุกซ์\|ระบบ' doc1.txt
นับจำนวนการแข่งขันโดยใช้คำสั่ง grep
คำสั่ง grep ยังสามารถแสดงจำนวนการแข่งขันทั้งหมดที่พบในไฟล์ระบบ ใช้ -c ตัวดำเนินการ ด้วยคำสั่ง grep:
จับ -ค 'แบบ1\|แบบ2' ชื่อไฟล์หรือเส้นทางไฟล์ค้นหาจำนวนการนับของ Linux และคำของระบบใน doc1 โดยใช้คำสั่งต่อไปนี้:
จับ -ค 'ลินุกซ์\|ระบบ' doc1.txt
วิธี grep มากกว่าสองคำใน Linux
หากคุณต้องการใช้คำสั่ง grep เพื่อค้นหามากกว่าสองคำใน Linux ให้ใช้ไวยากรณ์คำสั่งต่อไปนี้:
จับ 'รูปแบบ\|รูปแบบ-2\|รูปแบบ-3' ชื่อไฟล์หรือเส้นทางไฟล์ในกรณีของฉัน ฉันใช้การค้นหาสามคำ Linux, ระบบปฏิบัติการ และ ระบบ ในไฟล์ doc1.txt ของฉัน:
จับ 'Linux\|ระบบปฏิบัติการ\|ระบบ' doc1.txt
บรรทัดล่าง
ในขณะที่ทำงานใน command line เรามักจะใช้คำสั่ง grep เพื่อค้นหาคำต่างๆ คำสั่ง grep เป็นคำสั่งที่มีประโยชน์และทรงพลังที่สุดของ Linux โดยมีโอเปอเรเตอร์และตัวเลือกการค้นหาที่แตกต่างกัน ด้วยคำสั่งนี้ คุณสามารถค้นหาคำและรูปแบบเฉพาะในไฟล์ได้ การทำความเข้าใจคำสั่ง grep จะช่วยประหยัดเวลาในการดูไฟล์ขนาดใหญ่