ตามชื่อที่แนะนำ grep หรือ global expression print ช่วยให้คุณสามารถค้นหารูปแบบข้อความเฉพาะภายในเนื้อหาของไฟล์ได้ ฟังก์ชันการทำงานประกอบด้วยการจดจำรูปแบบ การกำหนดความไวของตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ การค้นหาไฟล์หลายไฟล์ การค้นหาแบบเรียกซ้ำ และอื่นๆ อีกมากมาย
ดังนั้นไม่ว่าคุณจะเป็นมือใหม่หรือผู้ดูแลระบบ การรู้คำสั่ง grep เพื่อค้นหาไฟล์อย่างมีประสิทธิภาพก็เป็นสิ่งที่ดี บทช่วยสอนนี้จะอธิบายวิธีใช้ grep ใน Linux และหารือเกี่ยวกับแอปพลิเคชันต่างๆ
วิธีใช้คำสั่ง Grep ใน Linux
ฟังก์ชันพื้นฐานของคำสั่ง grep คือการค้นหาข้อความเฉพาะภายในไฟล์ คุณสามารถทำได้โดยป้อนคำสั่งต่อไปนี้:
ด้ามจับ 'text_to_search' ไฟล์.txt
โปรดแทนที่ 'text_to_search' ด้วยข้อความที่คุณต้องการค้นหาและ 'file.txt' ด้วยไฟล์เป้าหมาย ตัวอย่างเช่น หากต้องการค้นหาสตริง “Hello” ในไฟล์ชื่อ file.txt เราจะใช้:
ด้ามจับ 'สวัสดี' ไฟล์.txt
เมื่อป้อนคำสั่งข้างต้น grep จะสแกนไฟล์ Intro.txt เพื่อหา “Hello” ด้วยเหตุนี้ จะแสดงผลลัพธ์ของทั้งบรรทัดหรือบรรทัดที่มีข้อความเป้าหมาย
หากไฟล์เป้าหมายอยู่บนเส้นทางที่แตกต่างจากไดเรกทอรีปัจจุบันของคุณ โปรดระบุเส้นทางนั้นพร้อมกับชื่อไฟล์ ตัวอย่างเช่น:
ด้ามจับ 'สวัสดี' - - เอกสาร - ไฟล์.txt
ที่นี่เครื่องหมายตัวหนอน '~' แสดงถึงโฮมไดเร็กตอรี่ของคุณ ตัวอย่างข้างต้นแสดงวิธีที่คุณสามารถค้นหาข้อความในไฟล์เดียว อย่างไรก็ตาม หากคุณต้องการค้นหาไฟล์หลายไฟล์พร้อมกัน ให้ระบุไฟล์เหล่านั้นในภายหลังในคำสั่ง grep เดียว:
ด้ามจับ 'สวัสดี' file.txt Linux_info.txt รหัสผ่าน.txt
ในกรณีที่คุณไม่แน่ใจเกี่ยวกับตัวพิมพ์ของสตริงของคุณ (ตัวพิมพ์ใหญ่หรือตัวพิมพ์เล็ก) ให้ทำการค้นหาโดยคำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่โดยใช้ตัวเลือก i:
ด้ามจับ -ฉัน 'สวัสดี' Intro.txt
แม้ว่าสตริงที่เราป้อนจะไม่ตรงกันทุกประการ แต่เราได้รับผลลัพธ์ที่แม่นยำผ่านการค้นหาโดยคำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ ในกรณีที่คุณต้องการกลับการเปลี่ยนแปลงและตรวจสอบไฟล์ที่ไม่มีรูปแบบเฉพาะ โปรดใช้ตัวเลือก v:
ด้ามจับ -ใน 'สวัสดี' file.txt Linux_info.txt รหัสผ่าน.txt
นอกจากนี้ หากคุณต้องการแสดงบรรทัดที่ขึ้นต้นด้วยคำใดคำหนึ่ง ให้ใช้สัญลักษณ์ '^' ทำหน้าที่เป็นจุดยึดที่ระบุจุดเริ่มต้นของบรรทัด
ด้ามจับ '^สวัสดี' ไฟล์.txt
คำสั่งข้างต้นจะมีประโยชน์ก็ต่อเมื่อคุณรู้ว่าต้องค้นหาไฟล์ใด ในกรณีนี้ คุณสามารถค้นหาสตริงภายในไดเร็กทอรีทั้งหมดซ้ำได้โดยใช้ตัวเลือก r ตัวอย่างเช่น ลองค้นหาคำว่า 'Hello' ภายในไดเร็กทอรี Documents:
ด้ามจับ -ร 'สวัสดี' - - เอกสาร
นอกจากนี้คุณยังสามารถนับจำนวนครั้งที่สตริงอินพุตปรากฏในไฟล์ผ่านตัวเลือก c:
ด้ามจับ -ค 'สวัสดี' Intro.txt
ในทำนองเดียวกัน คุณสามารถแสดงหมายเลขบรรทัดพร้อมกับบรรทัดที่ตรงกันด้วยตัวเลือก n:
ด้ามจับ -n 'สวัสดี' Intro.txt
สรุปอย่างรวดเร็ว
ผู้ใช้มักจำได้ว่าไฟล์เคยมีข้อความแต่ลืมชื่อไฟล์ ซึ่งอาจทำให้เกิดปัญหาร้ายแรงได้ ดังนั้น บทช่วยสอนนี้เกี่ยวกับการใช้คำสั่ง grep เพื่อค้นหาข้อความในเนื้อหาของไฟล์ นอกจากนี้เรายังใช้ตัวอย่างที่แตกต่างกันเพื่อสาธิตวิธีการปรับแต่งการทำงานของคำสั่ง grep ด้วยตัวเลือกบางตัว คุณสามารถทดลองโดยการรวมตัวเลือกต่างๆ เข้าด้วยกันเพื่อดูว่าตัวเลือกใดเหมาะสมที่สุดตามกรณีการใช้งานของคุณ