awk - 値の変更

awk - 値の変更

ファイルに次のものが含まれています

TIMEOUT=abc
TIMEOUT=5
TIMEOUT=
xTIMEOUT=5

から始めなければならない

"TIMEOUT=5" 

到着

"TIMEOUT=9"

このコマンドは機能します。
4行目も変更しますが、これは望ましくありません。

awk '$0 ~ "TIMEOUT=[:0-9:]" { $0 = "TIMEOUT=9" } {print}' file

このコマンドは何も変更しません

awk '$0 == "TIMEOUT=[:0-9:]" { $0 = "TIMEOUT=9" } {print}' file

どうすればいいですか?ありがとうございます!

答え1

これを行う必要があります:

awk '/^TIMEOUT=[:0-9:]/ { $0 = "TIMEOUT=9" } {print}' file

はるかに簡単です。

sed 's/^TIMEOUT=[0-9]/TIMEOUT=9/' file

関連情報