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