Score:0

ฉันต้องการแยกคำเฉพาะออกจากผลลัพธ์เมื่อใส่หางลงใน grep

ธง fi

ฉันใช้ "tail -f /var/log/fail2ban.log -f /var/log/ufw.log | grep -e Ban -e BLOCK -e ALLOW" (โดยไม่ใส่เครื่องหมายอัญประกาศ) และมันใช้งานได้ แต่ฉันต้องการ ยกเว้นผลลัพธ์ที่มีคำว่า UDP และ ICMP อยู่ในนั้น เมื่อฉันลอง "tail -f /var/log/fail2ban.log -f /var/log/ufw.log | grep -e Ban -e BLOCK -e ALLOW -v UDP -v ICMP" ฉันได้รับข้อผิดพลาด "grep: UDP: ไม่มีไฟล์หรือไดเร็กทอรีดังกล่าว" ดูเหมือนว่าการใช้ -v เพื่อแยกคำจะไม่ทำงานเมื่อทำการไพพ์

ป้อนคำอธิบายรูปภาพที่นี่

Score:0
ธง fi

ฉันมีวิธีแก้ไขปัญหานี้โดยใช้เซสชัน ssh 2 ครั้ง ฉันไพพ์ผลลัพธ์ของคำสั่ง grep แรกลงในไฟล์ จากนั้นในเซสชัน ssh ที่ 2 ฉันหางผลลัพธ์ที่ส่งไปยัง grep (เซสชัน ssh ที่ 1) - tail -f /var/log/fail2ban.log -f /var/log/ufw.log | grep -v ICMP >/home/user/staging (เซสชัน ssh ที่ 2) - tail -f /home/user/staging | grep -e ALLOW -e BLOCK ค่อนข้างแหวกแนว แต่ใช้งานได้

Score:0
ธง vn

คุณสามารถไพพ์ผลลัพธ์แรกไปยัง grep อื่นและใช้เป็น "ตัวกรอง" อื่นเช่น:

หาง -f /var/log/fail2ban.log -f /var/log/ufw.log | grep "ห้าม\|บล็อก\|อนุญาต" | grep -v "UDP\|ICMP"

โปรดทราบว่า grep สามารถสแต็คสตริงต่างๆ แม้กระทั่ง regex เมื่อคุณใช้เครื่องหมายอัญประกาศคั่นด้วยไพพ์ "|" แต่คุณควรกำหนดอักขระด้วย "\" เพื่อไม่ให้เกิดความแปลกประหลาด

พารามิเตอร์ -v พูดตามตัวอักษรในมนุษย์

-v, --invert-match กลับด้านการจับคู่เพื่อเลือกบรรทัดที่ไม่ตรงกัน

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

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

ตัวเลือกทั้งหมดจะเริ่มต้นด้วย - หรือ - และคุณสามารถใส่ได้หลายตัวเลือก

คุณสามารถกำหนดรูปแบบเดียวหรือรูปแบบเฉพาะได้ด้วย -e หรือ -f หรือไม่มี anithing

และสุดท้ายเสมอควรเป็นไฟล์/s หรือไดเร็กทอรี (ไดเร็กทอรีต้องการพารามิเตอร์ -R เพื่อเรียกซ้ำ หรือคุณสามารถใส่ไดเร็กทอรี/*) หากไม่ได้ระบุไว้จะพยายามอ่าน stdin เหมือนที่คุณทำ

   เรื่องย่อ
   grep [ตัวเลือก...] รูปแบบ [ไฟล์...]
   grep [ตัวเลือก...] -e รูปแบบ ... [ไฟล์...]
   grep [ตัวเลือก...] -f PATTERN_FILE ... [ไฟล์...]

ก็ตามนี้อยู่แล้ว ตอบ ด้วยวิธีพื้นฐานมากขึ้น

Greg Azar avatar
fi flag
โซลูชันของคุณสมเหตุสมผล มีเหตุผลและสมเหตุสมผล แต่เมื่อฉันลองแล้ว กลับไม่พบผลลัพธ์และไม่มีข้อผิดพลาด เพียงแค่แจ้ง
Angel Porlan avatar
vn flag
จากนั้นคุณควรตรวจสอบว่าคุณไม่ได้รับการจับคู่ที่ต้องการจริง ๆ หรือไม่ และปรับตัวกรอง

โพสต์คำตอบ

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