Read the properties file in Linux
I want to be able to read the properties file in Linux to check if some properties exist. If the properties I’m looking for exist but they don’t match the value I’m looking for, I want to override those respective properties. If they don’t exist, then I want to write them to a file.
Any linux guru can help me with this.
Thanks in advance!
The key name can also be in the form pre1.pre2.pre3
So like
pre1.pre2.pre3 = value
Here is the properties file
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.all.disable_ipv6 = 1
kernel.sysrq = 0
net.ipv4.ip_forward = 0
net.ipv4.tcp_syncookies = 1
net.ipv6.conf.all.forwarding = 0
net.ipv4.tcp_keepalive_time = 30
net.ipv4.tcp_keepalive_intvl = 5
net.ipv4.tcp_keepalive_probes = 5
I want to basically change all the settings for tcp.
Solution
Here are some steps you might find useful for your script:
- Does foo.bar exist in a.properties?
if grep foo.bar a.properties ; Then Echo discovered; otherwise echo cannot be found; fi
-> if
test the result of grep
- Replace the attribute with the new value
cat a.properties | sed '/foo.bar/c\foo.bar = new value'
-> sed
changes the entire line with the c command
Looks like you only need the last command 🙂
ps: I love these “avoid bash” discussions 🙂