ฉันมีฟังก์ชันทุบตีต่อไปนี้ที่ใช้ เสด
เพื่อแยกส่วนที่เกิดขึ้นระหว่าง ## โหมด: org
และ ## # จบ org
, ที่ไหน #
เป็นตัวแสดงความคิดเห็น ในที่สุดฉันก็ลบอักขระความคิดเห็นและช่องว่างใดๆ
นี่คืออินพุตของฉัน
แมว /home/flora/docs/recnotes.txt
## โหมด: org
# กำหนดพารามิเตอร์ตำแหน่งเชลล์หรือเปลี่ยนค่าของเชลล์
# ตัวเลือก. ตัวเลือก -- กำหนดพารามิเตอร์ตำแหน่งให้กับ
# อาร์กิวเมนต์ของ {set} แม้ว่าบางอาร์กิวเมนต์จะขึ้นต้นด้วยตัวเลือกก็ตาม
# คำนำหน้า `-'
## # จบ org
;; โหมด: org
; กำหนดพารามิเตอร์ตำแหน่งเชลล์หรือเปลี่ยนค่าของเชลล์
; ตัวเลือก. ตัวเลือก -- กำหนดพารามิเตอร์ตำแหน่งให้กับ
; อาร์กิวเมนต์ของ {set} แม้ว่าบางอาร์กิวเมนต์จะขึ้นต้นด้วยตัวเลือกก็ตาม
; คำนำหน้า `-'
;; #จุดจบขององค์กร
@c โหมด: org
@c กำหนดพารามิเตอร์ตำแหน่งเชลล์หรือเปลี่ยนค่าของเชลล์
@c ตัวเลือก ตัวเลือก -- กำหนดพารามิเตอร์ตำแหน่งให้กับ
อาร์กิวเมนต์ @c ของ {set} แม้ว่าบางอาร์กิวเมนต์จะขึ้นต้นด้วยตัวเลือกก็ตาม
@c คำนำหน้า `-'
@c# จบ org
นี่คือฟังก์ชั่นทุบตีที่มีการนำไปใช้ใน เสด
.
การจับกุม ()
{
efile ท้องถิ่น = "$1"
ชาร์โคล เบกอร์ก เอนดอร์กในท้องถิ่น
charcl_ere='^[[:space:]]*([#;!]+|@c|\/\/)[[:space:]]*'
charcl_bre='^[[:ช่องว่าง:]]*\([#;!]\+\|@c\|\/\/\)[[:ช่องว่าง:]]]*'
begorg="${charcl_bre}"'โหมด: org$'
endorg="${charcl_bre}"'# จุดสิ้นสุดของ org$'
mdr='^โหมด: org$' ; edr='^# จุดสิ้นสุดของ org$'
sed -n "/$begorg/,/$endorg/ s/$charcl_bre//p" "$efile" |
sed "/$mdr\|$edr/d"
}
เดิมฉันมีสองคำสั่งเป็น
begorg='${charcl_bre}โหมด: org$'
endorg='${charcl_bre}# จุดสิ้นสุดของ org$'
ที่ไม่ได้ขยายตัวแปร charcl_bre
.
ผลลัพธ์คือ
กำหนดพารามิเตอร์ตำแหน่งเชลล์หรือเปลี่ยนค่าของเชลล์
ตัวเลือก. ตัวเลือก -- กำหนดพารามิเตอร์ตำแหน่งให้กับ
อาร์กิวเมนต์ของ {set} แม้ว่าบางอาร์กิวเมนต์จะขึ้นต้นด้วยตัวเลือกก็ตาม
คำนำหน้า `-'
กำหนดพารามิเตอร์ตำแหน่งเชลล์หรือเปลี่ยนค่าของเชลล์
ตัวเลือก. ตัวเลือก -- กำหนดพารามิเตอร์ตำแหน่งให้กับ
อาร์กิวเมนต์ของ {set} แม้ว่าบางอาร์กิวเมนต์จะขึ้นต้นด้วยตัวเลือกก็ตาม
คำนำหน้า `-'
กำหนดพารามิเตอร์ตำแหน่งเชลล์หรือเปลี่ยนค่าของเชลล์
ตัวเลือก. ตัวเลือก -- กำหนดพารามิเตอร์ตำแหน่งให้กับ
อาร์กิวเมนต์ของ {set} แม้ว่าบางอาร์กิวเมนต์จะขึ้นต้นด้วยตัวเลือกก็ตาม
คำนำหน้า `-'
สิ่งที่ฉันต้องการทำคือมีบรรทัดว่างระหว่างส่วน