ใช้awk
หรือsed
ฉันจะเลือกเส้นที่เกิดขึ้นระหว่างรูปแบบเครื่องหมายสองแบบที่แตกต่างกันได้อย่างไร อาจมีหลายส่วนที่ทำเครื่องหมายด้วยรูปแบบเหล่านี้
ตัวอย่างเช่นสมมติว่าไฟล์มี:
abc
def1
ghi1
jkl1
mno
abc
def2
ghi2
jkl2
mno
pqr
stu
และรูปแบบเริ่มต้นคือabc
และรูปแบบสิ้นสุดคือmno
ดังนั้นฉันต้องการผลลัพธ์เป็น:
def1
ghi1
jkl1
def2
ghi2
jkl2
ฉันใช้ sed เพื่อจับคู่รูปแบบครั้งเดียว:
sed -e '1,/abc/d' -e '/mno/,$d' <FILE>
มีวิธีใดsed
หรือawk
ต้องทำซ้ำ ๆ จนจบไฟล์?
awk '/abc/{a=1}/mno/{print;a=0}a' file
รูปแบบแล้วคุณสามารถใช้