8
วิธี grep-inverse-match และแยกบรรทัด“ before” และ“ after”
พิจารณาไฟล์ข้อความด้วยรายการต่อไปนี้: aaa bbb ccc ddd eee fff ggg hhh iii ด้วยรูปแบบ (เช่นfff) ฉันต้องการ grep ไฟล์ด้านบนเพื่อให้ได้ผลลัพธ์: all_lines except (pattern_matching_lines U (B lines_before) U (A lines_after)) ตัวอย่างเช่นถ้าB = 2และA = 1เอาต์พุตที่มี pattern = fffควรเป็น: aaa bbb ccc hhh iii ฉันจะทำสิ่งนี้กับ grep หรือเครื่องมือบรรทัดคำสั่งอื่น ๆ ได้อย่างไร หมายเหตุเมื่อฉันลอง: grep -v 'fff' -A1 -B2 file.txt ฉันไม่ได้สิ่งที่ฉันต้องการ …