ฉันมีสคริปต์รายวันที่ดึงข้อมูลสถิติฮาร์ดแวร์จากเซิร์ฟเวอร์ RHEL ทั้งหมดของฉันทุกคืนและบันทึกลงใน yyyymmdd_daily.log ไฟล์. ฉันมีสคริปต์อื่นๆ ที่ฉันเรียกใช้กับไฟล์เหล่านี้เพื่อแยกข้อมูลเฉพาะ (เช่น DriveArrrayStatus, สถานะของฮาร์ดแวร์, ดิสก์ฟรีสเปซฯลฯ) สำหรับงานต่างๆ
ตัวอย่าง สถานะของฮาร์ดแวร์ เอาต์พุตสคริปต์:
#########################
เซิร์ฟเวอร์: abc
** แฟนคลับ **
สุขภาพ: ตกลง
** พาวเวอร์ซัพพลาย **
ความซ้ำซ้อน: เต็ม
#########################
เซิร์ฟเวอร์: bcd
** แฟนคลับ **
สุขภาพ: บางส่วน
** พาวเวอร์ซัพพลาย **
ความซ้ำซ้อน: ครึ่งหนึ่ง
#########################
เซิร์ฟเวอร์: cde
** แฟนคลับ **
สุขภาพ: ลดลง
** พาวเวอร์ซัพพลาย **
ความซ้ำซ้อน: ไม่มี
#########################
ฯลฯ ... สำหรับ 44 เซิร์ฟเวอร์
เนื่องจากแทบจะไม่มีข้อผิดพลาดใด ๆ เลย ฉันต้องการเปลี่ยนสีบรรทัดที่แสดงข้อผิดพลาดใด ๆ เมื่อฉันเรียกใช้สคริปต์ ฉันสามารถเลือกบรรทัดที่จะกลั่นกรองโดยใช้ grep:
./สถานะฮาร์ดแวร์ | grep '^สุขภาพ\|^ความซ้ำซ้อน\|$'
แต่จากที่นี่ ฉันต้องทำให้เป็นสีเฉพาะบรรทัดที่ตรวจสอบแล้วซึ่งไม่ได้ลงท้ายด้วยคำตอบที่น่าพอใจตามลำดับ:
./สถานะฮาร์ดแวร์ | grep --color=auto -v 'ตกลง$\|เต็ม$'
ฉันได้ลองวางคำสั่ง grep การเลือกบรรทัดไปยัง grep ที่สองหรือโดยใช้ egrep แต่มันเพิ่งลดบรรทัดใด ๆ ที่ไม่มีการตอบสนองที่น่าพอใจจากเอาต์พุตของสคริปต์
ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชมอย่างมาก