I want to put in
sudo gedit /etc/sysctl.conf the one line
vm.swappiness=10 which I sometimes change.
By default this line doesnt exist so I use
echo "vm.swappiness=10" | sudo tee -a /etc/sysctl.conf.
If I would always be putting the same exact line
vm.swappiness=10, then in case I want to replace I could use
sudo sed -i 's/vm.swappiness=10/vm.swappiness=1/g' /etc/sysctl.conf But since there could be
vm.swappiness=12 or something else, I want--with just a single command--to find if, in
/etc/sysctl.conf, there exists line starting
vm.swappiness=. Then if it does exist I want to remove the whole line (then by appending
&& echo "vm.swappiness=1" | sudo tee -a /etc/sysctl.conf to that command, it would also subsequently add the new configuration line that I want to the end.
But again since there could be a lot of different parameters in one line, it wouldn't be good to delete it all, but would be better to change only the number (to the immediate right of
What you think? Would it be better to search for vm.swappiness=x(x(x)) with 1 to 3 numbers (of course, 100 also exists...), replace if it's there (by putting it into a variable and using a command like
`sudo sed -i 's/$oldline/$newline/g'), and if not then just append