วิธีการใช้ Grep แบบเรียกซ้ำ?

How Use Grep Recursively



คำสั่ง Grep ใช้เพื่อค้นหาข้อความจากไฟล์ เป็นรูปแบบอเนกประสงค์ที่เรียกใช้ grep ด้วย –r –R option ค้นหาไฟล์แบบเรียกซ้ำจากไดเร็กทอรีย่อย โดยเริ่มจากไดเร็กทอรีปัจจุบัน คำสั่งถูกเรียกใช้จากไดเร็กทอรีระดับบนสุด ตัวอย่างเช่น /home/abc เป็นต้น Grep เป็นเครื่องมือสำหรับการรับการพึ่งพาขณะย้ายจากโฮสต์หนึ่งไปยังอีกโฮสต์หนึ่ง หากเราไม่กล่าวถึงไดเร็กทอรีในคำสั่ง grep จะค้นหาไดเร็กทอรีการทำงานปัจจุบัน ในการดำเนินการ grep แบบเรียกซ้ำ มีข้อโต้แย้งสามข้อที่เรานำมาจากหน้า man ของ grep

$ผู้ชายกริป







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



ไวยากรณ์

รูปแบบกริป –R/เส้นทาง/

เส้นทางคือเส้นทางไดเรกทอรี และรูปแบบคือคำหรือสตริงที่คุณต้องการค้นหา



วิชาบังคับก่อน

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





ไฟล์ทั้งหมดใน Linux

คำสั่งนี้จะช่วยคุณค้นหาชื่อไฟล์ทั้งหมดในไดเร็กทอรีของระบบของคุณ เนื่องจาก –l ทำงานในการระบุชื่อไฟล์เท่านั้น –r จะช่วยในการค้นหาเชิงสัญลักษณ์ทุกที่ที่มีคำที่ต้องการ จะเป็นผลลัพธ์ ในขณะที่ Aqsa เป็นคำที่เราต้องการค้นหา คำสั่งนี้ไม่มีพา ธ ไปยังไดเร็กทอรีเพราะที่นี่เราต้องการชื่อไฟล์ที่เป็นไปได้ทั้งหมดในระบบ หากเรากำหนดเส้นทางไว้ ขั้นตอนการค้นหาจะมีข้อจำกัด

$กริป–r –l aqsa



ตัวอย่างง่ายๆ

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

$กริป–r อเนกประสงค์/บ้าน/aqsayasin

ค้นหาซ้ำในไดเร็กทอรีและไดเร็กทอรีย่อยทั้งหมด

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

$กริป–r บ้าน*

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

Grep วนซ้ำสำหรับสตริง

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

$กริป–r 192.168.1.5/ฯลฯ/

ชื่อของไฟล์ในเอาต์พุตสามารถระงับได้โดยใช้ตัวเลือก –h คำสั่งมีดังนี้

$กริป -ชม -NS '192.168.1.5' /ฯลฯ/

ตัวคั่นทั้งสองสามารถเขียนได้เช่น -h -R ในคำสั่ง

ค้นหาซ้ำโดยไม่มีไดเรกทอรี

การค้นหาแบบเรียกซ้ำสามารถทำได้โดยไม่ต้องใช้ไดเร็กทอรีโดยเพียงแค่ค้นหาคำด้วยคำเดียว

$กริป–r ภรรยา

คำว่า wife จะถูกค้นหาในไดเร็กทอรีทั้งหมดโดยอัตโนมัติ เนื่องจากเมื่อไม่มีการกล่าวถึงไดเร็กทอรี กระบวนการค้นหาจะดำเนินการในไฟล์และไดเร็กทอรีทั้งหมดของระบบ นอกจากนี้ยังจะรวมไฟล์ไบนารีพร้อมกับไฟล์ข้อความ ที่อยู่ไฟล์และชื่อไฟล์จะแสดงในตอนแรก ในขณะที่ข้อความภายในไฟล์จะปรากฏขึ้น ไม่เพียงแค่ข้อความธรรมดาเท่านั้น แต่ยังแสดงคำสั่ง grep ที่ใช้กับข้อความของไฟล์ด้วย เช่น grep 'I am a house wife'

Grep ที่แน่นอนหลายรูปแบบ

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

$กริป–rw '/บ้าน/aqsayasin/'

คำที่ค้นหาจะถูกเน้นในข้อความของไฟล์ คำที่ค้นหาทั้งสองต้องอยู่ในไฟล์เดียว มีความเป็นไปได้ที่จะมีคำอยู่ในไฟล์ต่าง ๆ ดังที่แสดงในผลลัพธ์

Grep ใช้ซ้ำ - รวม

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

$กริป-NS --รวม=*txt น้องสาว/บ้าน/aqsayasin

บทสรุป

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