Write a shell script, change-lines, which will substitute a string for a replacement string for each occurance of the string in files specified. The original file will be saved, with the same filename with the .keep extension unless the -n option is present. You may use a temporary file for this script. Remember the search string and or the replacement string can have special characters in them. Use proper quoting techniques. The script will use * the option -s "string" for the search string * the option -r "string" for the replacement string * the -n option to prevent a backup file from being created * the -h option to print a usage statement and exit The script will exit with an error status and print an error message: * if the -s option is not present. * if the -r option is not present. * if the string is not specified with the -s option * if the string is not specified with the -r option * if there are any other options specified * if there are no input files specified * if the input file cannot be read by the current process * if the input file cannot be written by the current process * if you cannot create the backup file. Here is the usage statement for the script: change-lines [-n] -s search string -r replace string files ... -n do not backup the original file -s search string the search for this string -r replace string replace the search string with this string -h print this message Examples: prompt> change-lines -s foobar -r FooBar *.c This script will edit all the files *.c, and each occurrence of foobar it will be replaced by FooBar it will be replaced by FooBar. Each file will be backed up. prompt> change-lines -s "SHELL IS NOT FUN" -r "SHELL PROGRAMING IS A LOT OF FUN" /tmp/file1.txt This script will edit all the file /tmp/file1.txt , and each occurrence of SHELL IS NOT FUN will replaced by the text, SHELL PROGRAMMING IS A LOT OF FUN. A backup file /tmp/file1.txt.keep will be created. You may use temporary files in this project.