2012-09-26 63 views
1

我遇到了shell腳本問題。我有一個存儲變量值的文件。我想通過腳本更新變量的值。你能建議最簡單的方法嗎?通過shell更新文件中的值

VAR.ENV文件包含

FLAG=TRUE 

我想通過腳本

FLAG=FALSE 

注意如下更新值:有這麼多的變量,在這個文件中。

謝謝!

回答

0
sed -i -e 's/^FLAG=.*/FLAG=FALSE/' thefile 

如果你的文件確實有這樣的一行。如果格式不同,您可能需要更多的工作。

+0

你把一個額外的在裏面 – Bitwise

+0

哎呀,謝謝,固定 –

0
awk -F= -v OFS='=' '{print $1, ENVIRON[$1]}' VAR.ENV > tmp && 
mv tmp VAR.ENV 

,不使用臨時文件(直接):

perl -i -F= -lape '$_ = $F[0] . "=" . $ENV{$F[0]}' VAR.ENV 
+0

我不希望創建任何第三方臨時文件... ... –

+0

@sumitvedi,已更新 –