bash - Edit conf file without get in the file -


i wonder know if there way edit conf file without getting in file , changing lines?

in case, need edit zabbix-agent conf file (located in /etc/zabbix/zabbix_agentd.conf) , there parameters in file need change, such server name, debuglevel, , others.

normally edit file using vim , change lines, idea edit file directly bash, don`t know if possible.

for example, if need change parameter debuglevel, @ bash run:

# /etc/zabbix/zabbix_agentd.conf.debuglevel=3

this doesn`t works, problem...

does knows??

i tested david said, didn`t solved problem... there lines in file commented , need uncomment them, , there lines need change.

for example, line above:

# debuglevel=3

i need change to:

debuglevel=3

and line:

server=127.0.0.1

i need change ip of zabbix server name, this:

server=172.217.28.142

is there other way?

if understand question correctly, want sed -i (the -i option allows sed edit file in place, , -i.bak same create backup of original file .bak extension)

to change debuglevel=3 debuglevel=4 in file /etc/zabbix/zabbix_agentd.conf, can do:

# sed -i.bak "/debuglevel/s/[0-9][0-9]*$/4/" /etc/zabbix/zabbix_agentd.conf 

if misinterpreted question, please let me know.

to change values @ end

example input file

$ cat file.txt debuglevel=3 

example use

$ sed -i "/debuglevel/s/[0-9][0-9]*$/4/" file.txt  $ cat file.txt debuglevel=4 

to remove comments

you can virtually same thing uncomment parameters of interest, example:

# sed -i.bak "/debuglevel/s/^#//" /etc/zabbix/zabbix_agentd.conf 

in each case, sed searching label in first set of forward slashes /.../, next substitute command called s , expression between next set of forward slashes, e.g. /^#/ (^ match @ beginning), if matched, replaced follows in next set // (nothing in remove comment case).

you need adjust values required match each parameter need find , replace. let me know if have further problems , problem is.


Comments

Popular posts from this blog

sequelize.js - Sequelize group by with association includes id -

android - Robolectric "INTERNET permission is required" -

java - Android raising EPERM (Operation not permitted) when attempting to send UDP packet after network connection -