การกรองขั้นพื้นฐานด้วย grep

หนึ่งในคำสั่งที่ฉันใช้มากที่สุดในเทอร์มินัลคือ grepมากกว่า cd o ls.

grep มีตัวเลือกมากมายและมีความเป็นไปได้ที่แตกต่างกันอย่างไรก็ตามฉันใช้วิธีธรรมดาที่สุดเท่าที่จะเป็นไปได้ แต่เรามาเริ่มด้วยการอธิบาย grep คืออะไร?

grep เป็นเพียงตัวกรองมันเป็นคำสั่งที่แสดงบรรทัดที่ตรงกับตัวกรองที่เราประกาศไว้

ตัวอย่างเช่นในระบบของเราเรามีไฟล์ / usr / share / doc / bash / FAQ และเนื้อหาของไฟล์นี้คือ:

ดูเนื้อหาไฟล์

หากคุณต้องการแสดงรายการเนื้อหาในเทอร์มินัลด้วยคำสั่ง แมว (ใช่แมวเหมือนแมวฮิฮิ) พวกเขาทำได้:

cat /usr/share/doc/bash/FAQ

ตอนนี้สมมติว่าเราต้องการแสดงรายการไฟล์ที่พูดถึงเวอร์ชันเท่านั้นสำหรับสิ่งนี้เราใช้ grep:

cat /usr/share/doc/bash/FAQ | grep version

การใส่สิ่งนั้นในเทอร์มินัลจะแสดงเฉพาะบรรทัดที่มี "เวอร์ชัน" ในไฟล์นั้นซึ่งจะไม่แสดงบรรทัดใด ๆ ที่ไม่มีคำนั้นอีกต่อไป

จะเป็นอย่างไรหากฉันต้องการแสดงทุกอย่างยกเว้นเวอร์ชันบรรทัด

นั่นคือในวิธีที่ฉันอธิบายให้คุณทุกอย่างที่ตรงกับตัวกรองจะปรากฏขึ้นตอนนี้ฉันจะแสดงวิธีทำให้ทุกอย่างปรากฏ ยกเว้น สิ่งที่ตรงกับตัวกรอง:

cat /usr/share/doc/bash/FAQ | grep -v version

คุณสังเกตเห็นความแตกต่างหรือไม่? ... เพียงแค่เพิ่ม -v มันสร้างความแตกต่างอยู่แล้ว😀

ดังนั้นถ้าพวกเขาใส่ grep มันจะแสดงเฉพาะสิ่งที่ตรงกับตัวกรอง แต่ถ้าคุณใส่ grep -v จะแสดงทุกอย่างยกเว้นตัวกรอง

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

ความนับถือ


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

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

*

*

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

  1.   ดีโมซ dijo

    ไม่ต้องสงสัยเลยว่าเป็นคำสั่งที่หลากหลายมากเมื่อคุณเรียนรู้ที่จะจัดการมันจะทำให้ชีวิตของคุณง่ายขึ้น =) ...

  2.   สคาลิเบอร์ dijo

    สวัสดี! .. .. คำสั่งที่มีประโยชน์จริงๆ .. ในกรณีของฉันฉันใช้มันไม่น้อย ..

    ตัวอย่างง่ายๆเช่น dpkg -l | grep 'package' (ในกรณีของ distros ที่ใช้ debian) ใช้เพื่อทราบว่าเราติดตั้งแพ็คเกจนั้นหรือไม่

    เยี่ยมมากที่มอบเครื่องมือเหล่านี้ให้กับชุมชนทั้งหมดของเรา😉

    1.    KZKG ^ กาอาระ dijo

      ขอบคุณมากครับ😀
      อันที่จริง grep มีพลังพอ ๆ กับจินตนาการของเราฮ่า ๆ ๆ ๆ พร้อมกับ awk (และตัด) พวกเขาบรรลุสิ่งมหัศจรรย์จริงๆ * - *

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

      PS: อีเมลของคุณน่าสนใจฮ่า ๆ !!

  3.   ฐานสิบหก dijo

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

    grep เวอร์ชัน / usr / share / doc / bash / FAQ

    นอกจากนี้แม้ว่าจะทำไม่ได้ แต่ก็ยังมีตัวเลือกในการเปลี่ยนเส้นทางอินพุตคำสั่งโดยทำสิ่งนี้:

    grep เวอร์ชัน </ usr / share / doc / bash / FAQ

    หลังสามารถทำได้ด้วยคำสั่งใด ๆ ดังนั้นจึงไม่จำเป็นต้องใช้ cat เพื่อส่งไฟล์ไปยังอินพุตของคำสั่ง

    การใช้การเปลี่ยนเส้นทางแทน cat ทำให้เชลล์เปิดโปรเซสน้อยลงจึงใช้ทรัพยากรน้อยลง ไม่ใช่ความแตกต่างที่เห็นได้ชัด แต่ถือเป็นแนวทางปฏิบัติที่ดี

    ในทางกลับกัน grep มีประโยชน์มากเมื่อใช้นิพจน์ทั่วไป ... ถ้าฉันต้องการช่วยในการโพสต์เกี่ยวกับนิพจน์ทั่วไปฉันต้องทำอย่างไร? การเพิ่มโพสต์ใหม่จากเดสก์ท็อป wordpress เพียงพอหรือไม่

    1.    KZKG ^ กาอาระ dijo

      โอ้น่าสนใจฉันมักจะใช้กับแมว HAHAHAHA ขอบคุณสำหรับเคล็ดลับ😀

      1.    ฮิวโก้ dijo

        ด้วย grep คุณยังสามารถสร้างตัวกรองให้มีพื้นฐานน้อยลงได้เช่น:

        grep -B3 -A3 -E -i --color=auto -n "(desde|hacia)?linux(\.)?$" ~/miarchivo.txt

        โดยพื้นฐานแล้วจะแสดงบรรทัดที่มีคำที่เรากำลังค้นหา (ซึ่งอาจใช้ตัวพิมพ์ใหญ่และตัวพิมพ์เล็กผสมกันก็ได้) บวกกับสามบรรทัดที่อยู่ข้างหน้าและสามบรรทัดหลังจากนั้น เน้นผลลัพธ์ด้วยสีที่แตกต่างกัน ใส่หมายเลขบรรทัด บนผลลัพธ์ และอนุญาตให้เปิดใช้งานนิพจน์ทั่วไปแบบขยาย ซึ่งในกรณีนี้อนุญาตให้ค้นหาใน “myfile.txt” สำหรับทุกบรรทัดที่ลงท้ายด้วย desdelinuxไปยัง linux หรือ linux ธรรมดา (มีหรือไม่มีจุดปลาย)

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

  4.   ดราก้อนเนลล์ dijo

    นอกจากนี้ยังสามารถใช้ zgrep สำหรับแท็บเล็ตใน. ta.gz ซึ่งมีประโยชน์มากเมื่อเราต้องการตรวจสอบบันทึกเก่า ไชโย

  5.   Jhon dijo

    สวัสดี. ขอบคุณสำหรับโพสต์ เกิดขึ้นกับฉันว่าการใช้ grep คำที่ฉันเขียนในบรรทัดที่ปรากฏไม่เปลี่ยนสี (โดยปกติจะเป็นเช่นนี้) [ตัวอย่าง: grep cat file.txt]
    เส้นและแมวปรากฏขึ้น แต่แมวไม่เปลี่ยนสีเพื่อแยกความแตกต่าง
    (ใน ccompus ของหน่วยของฉันถ้าคุณเห็น)
    คุณรู้ไหมว่าฉันจะเปิดใช้งานตัวเลือกนี้ได้อย่างไร?
    ได้โปรดถ้าคุณสามารถตอบฉัน อีเมลของฉันคือ sps-003@hotmail.com

    1.    fdy nb dijo

      เพื่อนต้องเขียน cat ในเครื่องหมายคำว่า "cat" หรือ "cat" ตามด้วยชื่อไฟล์ที่ต้องการค้นหา

  6.   enrique dijo

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

  7.   สแกนจูรา dijo

    แล้วจะแสดงพนักงานที่กรองตามเงินเดือนได้อย่างไร?