Với một tệp đầu vào duy nhất chỉ chứa các nhận xét (bắt đầu bằng #) và VARIABLE = dòng giá trị, có thể thay thế một giá trị cho một biến duy nhất nếu được tìm thấy và, nếu không, sẽ thêm cặp vào cuối tệp nếu không tìm thấy?
Phương thức hiện tại của tôi hoạt động bằng cách xóa nó trong một lượt đầu tiên, sau đó nối nó vào cuối tập tin trong lần thứ hai, nhưng phương thức này làm rối trật tự dòng (và cũng là hai lệnh khác nhau):
sed -r "/^FOOBAR=.*$/d" -i samefile &&
sed -r "$ a\FOOBAR=newvalue" -i samefile
Có dù sao để làm điều này, tức là. giữ trật tự dòng, trong một dòng sed duy nhất? Nếu một số tiện ích khác (awk, ...) thực hiện điều này, tôi sẽ sử dụng nó trên sed.
newvalue
được lưu trữ trong một biến?