Если ваш файл свойств разделен знаком =
, например, -
param1=value1
param2=value2
param3=value3
, тогда вы можете использовать awk
do, чтобы изменить значение параметра , просто зная имя параметра .Например, если мы хотим изменить param2
в вашем файле свойств, мы можем сделать следующее -
awk -F"=" '/param2/{$2="new value";print;next}1' filename > newfile
Теперь приведенный выше one-liner
требует от вас жесткого кода новое значение парам.Это может быть не так, если вы используете его в сценарии оболочки и вам нужно получить новое значение из переменной.
В этом случае вы можете сделать следующее -
awk -F"=" -v newval="$var" '/param2/{$2=newval;print;next}1' filename > newfile
. В этом мы создадим awk
переменную newval
и инициализируем ее переменной сценария ($ var), которая содержитновое значение параметра.