Changing contents of a file through shell script
bash, linux, shell
Solution
How about something like:
#!/bin/bash
addr=$1
port=$2
user=$3
sed -i -e "s/\(address=\).*/\1$1/" \
-e "s/\(port=\).*/\1$2/" \
-e "s/\(username=\).*/\1$3/" xyz.cfg
Where `$1,$2` and `$3` are the arguments passed to the script. Save it a file such as `script.sh` and make sure it executable with `chmod +x script.sh` then you can run it like:
$ ./script.sh 127.8.7.7 7822 xyz_ITR4
$ cat xyz.cfg
group address=127.8.7.7
port=7822
Jboss username=xyz_ITR4
This gives you the basic structure however you would want to think about validating input ect.
Problem
I have a requirement where in I need to change the contents of a file say xyz.cfg. the file contains values like: ``` group address=127.8.8.8 port=7845 Jboss username=xyz_ITR3 ``` I want to change this content when ever needed through a shell script and save the file. Changed content can look like: ``` group address=127.8.7.7 port=7822 Jboss username=xyz_ITR4 ``` How can i achieve this using shell script by taking user input or otherwise?