ด้วยอินพุตไฟล์เดียวที่มีความคิดเห็น (ขึ้นต้นด้วย #) และ VARIABLE = บรรทัดค่าเป็นไปได้ที่จะแทนที่ค่าสำหรับตัวแปรเดี่ยวหากพบและมิฉะนั้นต่อท้ายคู่ท้ายไฟล์ถ้าไม่พบ?
วิธีการปัจจุบันของฉันทำงานโดยการลบในรอบแรกจากนั้นต่อท้ายไฟล์ในรอบที่สอง แต่วิธีนี้ทำให้การเรียงลำดับบรรทัดยุ่งเหยิง (และเป็นสองคำสั่งต่างกัน):
sed -r "/^FOOBAR=.*$/d" -i samefile &&
sed -r "$ a\FOOBAR=newvalue" -i samefile
อย่างไรก็ตามมีให้ทำเช่นนี้คือ รักษาคำสั่งซื้อในบรรทัด sed เดียวหรือไม่ หากยูทิลิตี้อื่น (awk, ... ) ทำสิ่งนี้ฉันจะพามันไปนอน
newvalue
นี้หากเก็บไว้ในตัวแปรอย่างไร