Score:0

วิธี grep ด้วยหลาย ๆ สตริงเพื่อค้นหา

ธง es

ฉันเข้าใจวิธีใช้ grep ในรูปแบบง่ายๆ:

<คำสั่งที่พ่นข้อความออกมา> | grep "ข้อความที่จะค้นหา"

ฉันต้องการที่จะสามารถ เกรป บิตต่างๆ ของข้อความทั้งหมดในคราวเดียว ฉันจะทำอย่างไร เป็น เกรป คำสั่งที่ถูกต้องในการทำเช่นนี้?

ตัวอย่าง

ฉันวิ่ง arp-scan และฉันได้รับรายชื่ออุปกรณ์และที่อยู่ mac ฉันต้องการค้นหาการมีอยู่ของสตริงที่อยู่ mac ที่ไม่ซ้ำกันหลายรายการ ถ้าฉันต้องการเพียง 1 mac address ฉันจะใช้ เกรป แบบนี้:

arp-scan --localnet --interface=<อินเทอร์เฟซของฉัน> | grep "ที่อยู่ mac"

ฉันเคยได้ยินเกี่ยวกับ เสดแต่ฉันไม่รู้ว่ามันเหมาะกับกรณีการใช้งานของฉันหรือไม่

Score:0
ธง us

คุณสามารถใช้ได้ เกรป สำหรับสิ่งนี้. และมีหลายวิธีดู ตัวอย่างเช่นที่นี่:

  1. ใช้สัญลักษณ์ไปป์ Escape ในนิพจน์:

    <คำสั่งที่พ่นข้อความออกมา> | grep "ข้อความที่จะค้นหา\|ข้อความอื่นที่จะค้นหา"
    
  2. ใช้ เกรป กับ -E ตัวเลือก:

    <คำสั่งที่พ่นข้อความออกมา> | grep -E "ข้อความที่จะค้นหา | ข้อความอื่นที่จะค้นหา"
    
  3. ใช้ เกรป กับ -e ตัวเลือก:

    <คำสั่งที่พ่นข้อความออกมา> | grep -e "ข้อความที่จะค้นหา" -e "ข้อความอื่นที่จะค้นหา"
    
Score:0
ธง hr

มีหลายวิธีในการทำเช่นนี้

  1. ผ่านหลายรูปแบบด้วย -e อดีต.

    บางคำสั่ง | grep -e foo -e bar -e บาซ
    
  2. ใช้ นิพจน์ทั่วไป ที่จับคู่ได้หลายรูปแบบเช่น ใช้ นิพจน์ทั่วไปแบบขยาย ตัวดำเนินการทางเลือก |

    บางคำสั่ง | grep -E 'ฟู|บาร์|บาซ'
    
  3. ใส่รูปแบบหนึ่งต่อบรรทัดในไฟล์ และส่งไฟล์ไปที่ เกรป ผ่านทาง -ฉ ตัวเลือกเช่น

    บางคำสั่ง | grep -f patfile 
    

    ที่ไหน

    $ cat patfile
    ฟู
    บาร์
    บาส
    

โพสต์คำตอบ

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