10 ตัวอย่างการใช้งานจริงของคำสั่ง Linux Grep

10 ตัวอย่างการใช้งานจริงของคำสั่ง Linux Grep

คำสั่ง grep ให้การเข้าถึงยูทิลิตี grep ซึ่งเป็นเครื่องมือประมวลผลไฟล์อันทรงพลังที่ใช้เพื่อค้นหารูปแบบในไฟล์ข้อความ มีกรณีการใช้งานจริงมากมายและเป็นหนึ่งในคำสั่ง Linux ที่ใช้มากที่สุด คู่มือนี้แสดงคำสั่ง Linux grep ที่เรียบง่ายแต่มีประโยชน์ซึ่งมีการใช้งานจริง





ตัวอย่างไฟล์สาธิต

เราได้สร้างไฟล์อ้างอิงเพื่อช่วยให้ผู้อ่านเข้าใจ grep ได้อย่างมีประสิทธิภาพมากขึ้น คุณสามารถสร้างสำเนาของไฟล์นี้ได้โดยใช้คำสั่งเชลล์ต่อไปนี้ในเทอร์มินัลของคุณ





วิธีทำเพลงฟรี
cat <> test-file
This is a simple text file that contains
multiple strings as well as some telephone numbers
(555) 555-1234 (567) 666-2345
and email plus web addresses
john@doe.com
https://google.com
ftp://mywebserver.com
END

1. ค้นหาข้อความในไฟล์

หากต้องการค้นหารูปแบบข้อความในไฟล์ ให้เรียกใช้ grep ตามด้วยชื่อรูปแบบ นอกจากนี้ ให้ระบุชื่อไฟล์ที่มีข้อความ





grep 'email' test-file

คำสั่งนี้จะแสดงบรรทัดของเรา ไฟล์ทดสอบ ที่มีคำว่า อีเมล . คุณยังสามารถค้นหาข้อความเดียวกันในหลายไฟล์โดยใช้ grep

grep 'example' /usr/share/dict/american-english /usr/share/dict/british-english

คำสั่งดังกล่าวแสดงอินสแตนซ์ทั้งหมดของคำว่า ตัวอย่าง ใน อเมริกัน-อังกฤษ และ ภาษาอังกฤษ ไฟล์พจนานุกรม



2. ค้นหาคำที่ตรงกันทุกประการ

คำสั่ง Linux grep ที่แสดงในตัวอย่างก่อนหน้านี้ยังแสดงรายการบรรทัดที่มีการจับคู่บางส่วน ใช้คำสั่งที่ระบุด้านล่างหากคุณต้องการเฉพาะคำที่เกิดขึ้นเท่านั้น

grep -w 'string' test-file

NS -ใน หรือ --word-regexp ตัวเลือกของ grep จำกัดเอาต์พุตให้ตรงกันเท่านั้น Grep ประกอบด้วยแฟล็กเพิ่มเติมบางอย่างที่สามารถใช้กับคำสั่งเริ่มต้นได้เช่นกัน





ที่เกี่ยวข้อง: Grep มีชื่ออย่างไร? ประวัติเบื้องหลังการสร้างของ Grep

3. ละเว้นความแตกต่างของตัวพิมพ์

ตามค่าเริ่มต้น grep จะค้นหารูปแบบโดยคำนึงถึงขนาดตัวพิมพ์ อย่างไรก็ตาม คุณอาจต้องการปิดการทำงานนี้หากคุณไม่ทราบว่ารูปแบบนั้นมาก่อนในกรณีใด





grep -i 'this' test-file

ใช้ -ผม หรือ --ignore-case ตัวเลือกสำหรับปิดความไวของตัวพิมพ์เล็กและตัวพิมพ์ใหญ่

4. นับจำนวนรูปแบบ

NS -ค ธงย่อมาจาก นับ . จะแสดงจำนวนการแข่งขันที่พบสำหรับรูปแบบเฉพาะ ผู้ดูแลระบบสามารถใช้ข้อมูลนี้เพื่อดึงข้อมูลเฉพาะเกี่ยวกับระบบ

ไปป์ได้ คำสั่ง ps ด้วย grep เพื่อนับกระบวนการที่เป็นของผู้ใช้ปัจจุบัน

ps -ef | grep -c $USER

คำสั่งต่อไปนี้แสดงจำนวน MP3 ไฟล์ที่มีอยู่ในไดเร็กทอรี

ls ~/Music | grep -c .mp3

5. แสดงหมายเลขบรรทัดที่มีการจับคู่

คุณอาจต้องการค้นหาหมายเลขบรรทัดที่มีรายการที่ตรงกัน ใช้ -NS หรือ --line-number ตัวเลือกของ grep เพื่อให้บรรลุสิ่งนี้

cat /etc/passwd | grep -n rubaiat

ตัวเลือกนี้มีประโยชน์อย่างยิ่งสำหรับการดีบักซอร์สโค้ดและการแก้ไขปัญหาล็อกไฟล์ เพื่อแสดงตัวเลขทั้งหมดสำหรับบรรทัดใน ~/.vimrc ที่ใช้สำหรับกำหนดค่าโปรแกรมแก้ไขข้อความ Vim :

grep -n 'set' ~/.vimrc

6. ค้นหาชื่อไฟล์โดยใช้นามสกุล

เพื่อรับรายการทั้งหมด MP3 ไฟล์ที่มีอยู่ใน ~/เพลง ไดเรกทอรี:

ls ~/Music/ | grep '.mp3'

เปลี่ยนได้ .mp3 กับส่วนขยายอื่น ๆ สำหรับการค้นหาไฟล์เฉพาะ คำสั่งต่อไปนี้แสดงรายการ .ทั้งหมด php ไฟล์ที่มีอยู่ในไดเร็กทอรีการทำงานปัจจุบัน

sd card ทั้งหมดเหมือนกันไหม
ls | grep '.php'

7. ค้นหารูปแบบในไฟล์บีบอัด

คำสั่ง Linux grep สามารถค้นหารูปแบบภายในไฟล์บีบอัดได้ คุณจะต้องใช้ zgrep คำสั่งสำหรับการทำเช่นนี้อย่างไรก็ตาม ขั้นแรก สร้างไฟล์บีบอัดของเรา ไฟล์ทดสอบ โดยพิมพ์:

gzip test-file

ขณะนี้ คุณสามารถค้นหาข้อความหรือรูปแบบอื่นๆ ภายในไฟล์เก็บถาวรที่เป็นผลลัพธ์ได้

zgrep email test-file.gz

8. ค้นหาที่อยู่อีเมล

ผู้ดูแลระบบยังสามารถแสดงรายการที่อยู่อีเมลจากไฟล์ข้อความโดยใช้คำสั่ง Linux grep ตัวอย่างต่อไปนี้ทำได้โดยการค้นหารูปแบบนิพจน์ทั่วไป

grep '^[a-zA-Z0-9]+@[a-zA-Z0-9]+.[a-z]{2,}' test-file

คุณสามารถค้นหานิพจน์ทั่วไปสำหรับการทำงานที่คล้ายกัน หรือคุณสามารถสร้างมันขึ้นมาเองได้ถ้าคุณรู้ว่ามันทำงานอย่างไร

9. ค้นหาหมายเลขโทรศัพท์โดยใช้ Grep

คุณสามารถใช้นิพจน์ทั่วไป grep เพื่อกรองหมายเลขโทรศัพท์ออกจากไฟล์ข้อความ โปรดทราบว่าคุณต้องปรับแต่งรูปแบบเพื่อให้ตรงกับประเภทของหมายเลขโทรศัพท์ที่คุณต้องการ

grep '(([0-9]{3})|[0-9]{3})[ -]?[0-9]{3}[ -]?[0-9]{4}' test-file

คำสั่งดังกล่าวจะกรองหมายเลขโทรศัพท์อเมริกันสิบหลักออก

10. ค้นหา URL จากไฟล์ต้นทาง

เราสามารถใช้ประโยชน์จากพลังของ grep เพื่อแสดงรายการ URL ที่พบในไฟล์ข้อความ คำสั่งด้านล่างให้พิมพ์ URL ทั้งหมดที่มีอยู่ใน ไฟล์ทดสอบ .

grep -E '^(http|https|ftp):[/]{2}([a-zA-Z0-9-.]+.[a-zA-Z]{2,4})' test-file

เรากำลังใช้ .อีกครั้ง -และ ตัวเลือกสำหรับนิพจน์ทั่วไปแบบขยาย คุณยังสามารถใช้ egrep คำสั่งเพื่อหลีกเลี่ยงการเพิ่มสิ่งนี้

egrep '^(http|https|ftp):[/]{2}([a-zA-Z0-9-.]+.[a-zA-Z]{2,4})' test-file

การเรียนรู้คำสั่ง Linux Grep

เราได้นำเสนอตัวอย่างที่เป็นประโยชน์หลายประการของคำสั่ง Linux grep สำหรับการแก้ปัญหาในโลกแห่งความเป็นจริง แม้ว่าตัวอย่างเหล่านี้จะแสดงให้เห็นถึงพลังของ grep สำหรับการประมวลผลข้อความ แต่คุณจะต้องเชี่ยวชาญนิพจน์ทั่วไป หากคุณต้องการให้ grep ทำงานได้อย่างมีประสิทธิภาพสูงสุด

บางครั้งผู้ใช้ลีนุกซ์เจอสถานการณ์บางอย่างที่พวกเขาจำตัวเลือกต่างๆ ที่เกี่ยวข้องกับคำสั่งไม่ได้ หวังว่าระบบปฏิบัติการลีนุกซ์จะให้คุณมีวิธีในการขอความช่วยเหลือจากบรรทัดคำสั่งสำหรับยูทิลิตี้ระบบเกือบทั้งหมด

แบ่งปัน แบ่งปัน ทวีต อีเมล 7 วิธีในการรับความช่วยเหลือเกี่ยวกับ Command Line บน Linux

คำสั่งที่จำเป็นทั้งหมดสำหรับการเรียนรู้เกี่ยวกับคำสั่ง Linux จาก command-line

อ่านต่อไป
หัวข้อที่เกี่ยวข้อง
  • ลินุกซ์
  • ลินุกซ์
  • คำสั่งลินุกซ์
เกี่ยวกับผู้เขียน รูบายัต โฮสเซน(39 บทความเผยแพร่)

Rubaiat เป็นผู้สำเร็จการศึกษา CS ที่มีความหลงใหลในโอเพ่นซอร์สอย่างมาก นอกเหนือจากการเป็นทหารผ่านศึก Unix แล้ว เขายังเป็นผู้เชี่ยวชาญด้านความปลอดภัยเครือข่าย การเข้ารหัส และการเขียนโปรแกรมเชิงฟังก์ชันอีกด้วย เขาเป็นนักสะสมหนังสือมือสองและชื่นชอบดนตรีร็อคคลาสสิกอย่างไม่สิ้นสุด

เพิ่มเติมจาก Rubaiat Hossain

สมัครรับจดหมายข่าวของเรา

เข้าร่วมจดหมายข่าวของเราสำหรับเคล็ดลับทางเทคนิค บทวิจารณ์ eBook ฟรี และดีลพิเศษ!

ใช้คุณสมบัตินี้ของตัวจัดการอุปกรณ์เมื่อไดรเวอร์อุปกรณ์ที่อัปเดตทำให้เกิดปัญหา
คลิกที่นี่เพื่อสมัครสมาชิก