คำสั่ง Grep พื้นฐานบางคำสั่ง

grep

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

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

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

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

โดยทั่วไป grep ประกอบด้วยดังนี้:

grep loquebuscas tipoarchivo

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

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

grep -f ~ / archivoconpatrones.txt /

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

สิ่งสำคัญคือต้องจำไว้ว่าการใช้ grep กับไฟล์ขนาดใหญ่หรือแม้กระทั่งหลายไฟล์สามารถสร้างผลลัพธ์ได้มากมาย

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

grep  -l *.doc /carpeta/donde/lobuscas

ค้นหาไฟล์ใน Linux

ตอนนี้ หากเราต้องการค้นหาคำบางคำ แต่ต้องการยกเว้นผลลัพธ์ที่มีคำอื่น ๆ:

grep palabrabuscada tipodearchivo | grep -v palabraexcluida

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

grep -i palabra /donde/buscarla

และดี ที่นี่ฉันปล่อยพารามิเตอร์ที่ใช้บ่อยที่สุดไว้ใน grep.

-c En lugar de imprimir las líneas que coinciden, muestra el número de líneas que coinciden.

-e PATRON nos permite especificar varios patrones de búsqueda o proteger aquellos patrones de búsqueda que comienzan con el signo -.

-r busca recursivamente dentro de todos los subdirectorios del directorio actual.

-v nos muestra las líneas que no coinciden con el patrón buscado.

-i ignora la distinción entre mayúsculas y minúsculas.

-n Numera las líneas en la salida.

-E nos permite usar expresiones regulares. Equivalente a usar egrep.

-o le indica a grep que nos muestre sólo la parte de la línea que coincide con el patrón.

-f ARCHIVO extrae los patrones del archivo que especifiquemos. Los patrones del archivo deben ir uno por línea.

-H nos imprime el nombre del archivo con cada coincidencia

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


แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. ผู้รับผิดชอบข้อมูล: Miguel ÁngelGatón
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา