एकल इनपुट फ़ाइल के साथ जिसमें केवल टिप्पणियां (# के साथ शुरू) और VARIABLE = मान रेखाएं होती हैं, क्या एकल चर के लिए मान को बदलना संभव है यदि पाया गया और, अन्यथा, फ़ाइल नहीं होने पर जोड़ी को फ़ाइल के अंत में संलग्न करें?
मेरी वर्तमान विधि इसे पहले पास में हटाकर काम करती है, फिर इसे दूसरे पास में फ़ाइल के अंत में जोड़ देती है, लेकिन यह विधि लाइन ऑर्डर को गड़बड़ कर देती है (और यह दो अलग-अलग कमांड भी है):
sed -r "/^FOOBAR=.*$/d" -i samefile &&
sed -r "$ a\FOOBAR=newvalue" -i samefile
वहाँ वैसे भी यह करने के लिए है, यानी। एक एकल सीड लाइन में लाइन ऑर्डर रखते हुए? अगर कुछ अन्य उपयोगिता (awk, ...) ऐसा करती है, तो मैं इसे सेड पर ले जाऊंगा।
newvalueयह एक चर में संग्रहीत किया जाता है तो यह कैसा लगेगा ?