แสดงสตรีมทั้งหมดในขณะที่ไฮไลต์ด้วย grep


1

ฉันมักจะใช้tail -f | grep someregexกับไฟล์บันทึก ฉันพิมพ์ grep ไปแล้วgrep ---color=autoเพื่อให้การจับคู่ของฉันถูกเน้น หากฉันต้องการเห็นแมตช์ของฉันในบริบทของสตรีมทั้งหมดฉันจะทำอย่างไร โดยพื้นฐานแล้วฉันต้องการใช้ tail + grep เป็นปากกาเน้นข้อความ


1
คุณช่วยอธิบายได้ไหม คุณหมายถึงอะไรโดยสตรีมทั้งหมด? หากคุณต้องการกระแสทั้งหมดไม่ต้องใช้tailให้เรียกใช้grep somepatternโดยตรง คุณสามารถให้ตัวอย่างของกระบวนการที่คุณกำลังตรวจสอบอยู่ได้หรือไม่?
terdon

ถ้าฉันกำลังปรับแต่งล็อกไฟล์ให้ทำการ grepping บนข้อความแสดงข้อผิดพลาด แต่ต้องการดูในบริบทของข้อความ debug บางข้อความที่นำไปสู่การแข่งขันนั้นแบบเรียลไทม์
Pete

คำตอบ:


2

หากต้องการดูการแข่งขันของคุณในบริบทให้ใช้-Cตัวเลือก หากต้องการดูทุกบรรทัดใช้อาร์กิวเมนต์จำนวนมากเพื่อ-Cเช่น

tail -f yourlogfile | grep -C9999 someregex

ไม่แน่ใจว่าทำไมฉันถึงไม่ลองสิ่งนี้ฉันแค่คิดว่าข้อโต้แย้งบริบทไม่ทำงานบนสตรีม ขอบคุณ
Pete

0

ถ้าฉันเข้าใจดีมันเป็นสิ่งที่คุณกำลังมองหา:

grep "someregex" yourFile

มันจะพิมพ์บรรทัดที่ตรงกับ "regex"


ฉันใช้สิ่งนี้ในล็อกไฟล์ฉันต้องการดูผลลัพธ์ในแบบเรียลไทม์โดยไม่มีการโต้ตอบดังนั้นหาง -f แต่ต้องการเน้นการจับคู่
Pete

การแข่งขันจะเน้นด้วยคำสั่งของคุณ ผลลัพธ์ที่คุณต้องการคืออะไร?
Manolo

ฉันคิดว่าฉันเข้าใจคุณแล้วตั้งแต่ฉันเห็น @garyjohn ตอบ มันเป็นพฤติกรรมที่คุณต้องการหรือไม่?
Manolo
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.