Sponsored Content
Top Forums Shell Programming and Scripting How to walk through a config file with /bin/sh Post 302347952 by smhaller on Thursday 27th of August 2009 03:29:52 AM
Old 08-27-2009
Hi zaxxon,

thanks for your answer and your help trying to get the goal.

My problem is not, to exchange value "a" with value "b", but the interactive part above. The example there is how the prompts should look like. but doing this with a "while read" loop fails.

This is what I've created:

Code:
while read line
do
  comment=`echo $line | sed -e 's/#.*/#/'`
  if [ $comment = "#" ]; then
      echo "$line" | sed -n 's/#.*/&/p' >>$tmpfile
  else
     cf_key=`echo $line | awk 'BEGIN {FS = "="} {print $1}'`
     cf_val=`echo $line | awk 'BEGIN {FS = "="} {print $2}'`
     printf "Set $cf_key - Actual ($cf_val): \n"
     read value
     if [ $value = "" ]; then
        echo "$cf_key=$cf_val" >>$tmpfile
     else
        echo "$cf_key=$value" >>$tmpfile
     fi
  fi 
done < $config

Running this will result in several lines of output on screen, but no input reading prompt (read value, get ignored).
My question is: Is there another way to get this working?

The for-loop is not an option as I've written at the begin, because it does'nt handle the file line by line (whitespace problem). Except if ther's a way to advise the for-loop to ignore the whitespace. I've alread played around with setting of IFS, but I didn't come any further.

Best regards,
Stefan
 

8 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

/bin/sh: /usr/bin/vi: No such file or directory when doing crontab

I just set up an ftp server with Red Hat 5.2. I am doing the work, I'm baby stepping, but it seems like every step I get stuck. Currently, I'm trying to set up a crontab job, but I'm getting the following message: /bin/sh: /usr/bin/vi: No such file or directory. I see that vi exists in /bin/vi,... (3 Replies)
Discussion started by: kwalter
3 Replies

2. Programming

ftw/nftw -- filesystem tree walk

Hi, I recently experimented with ftw() and nftw(). These are function for calling some function for every file in a subtree. I need to get full information about type of file. Almost everything is working according to documentation but I noticed following problem: With a value FTW_PHYS... (2 Replies)
Discussion started by: odys
2 Replies

3. UNIX for Dummies Questions & Answers

fuser: difference with bin/sh and bin/ksh shell script

Hi, I have a problem I don't understand with fuser. I launch a simple shell script mysleep.sh: I launch the command fuser -fu mysleep.sh but fuser doesn't return anything excepted: mysleep: Then I modify my script switching from #!/bin/sh to #!/bin/ksh I launch the command fuser -fu... (4 Replies)
Discussion started by: Peuj
4 Replies

4. Shell Programming and Scripting

parsing config file to create new config files

Hi, I want to use a config file as the base file and parse over the values of country and city parameters in the config file and generate separate config files as explained below. I will be using the config file as mentioned below: (config.txt) country:a,b city:1,2 type:b1... (1 Reply)
Discussion started by: clazzic
1 Replies

5. Shell Programming and Scripting

Shell script that will compare two config files and produce 2 outputs 1)actual config file 2)report

Hi I am new to shell scripting. There is a requirement to write a shell script to meet follwing needs.Prompt reply shall be highly appreciated. script that will compare two config files and produce 2 outputs - actual config file and a report indicating changes made. OS :Susi linux ver 10.3. ... (4 Replies)
Discussion started by: muraliinfy04
4 Replies

6. OS X (Apple)

When to use /Users/m/bin instead of /usr/local/bin (& whats the diff?)?

Q1. I understand that /usr/local/bin means I can install/uninstall stuff in here and have any chance of messing up my original system files or effecting any other users. I created this directory myself. But what about the directory I didn't create, namely /Users/m/bin? How is that directory... (1 Reply)
Discussion started by: michellepace
1 Replies

7. HP-UX

SNMP Walk need to enable

We are using a third party to monitor unix servers performance since last 60 days, since last 3 days we are not able to get the performance alarms on our tool. When we check the same with the tool team, they said "SNMP walk is not happening for all the servers." Performance we mean... (9 Replies)
Discussion started by: marunmeera
9 Replies

8. Shell Programming and Scripting

Usage of #!/bin/sh vs #!/bin/bash shell scripts?

Some question about the usage of shell scripts: 1.) Are the commands of the base shell scripts a subset of bash commands? 2.) Assume I got a long, long script WITHOUT the first line. How can I find out if the script was originally designed für "sh" or "bash"? 3.) How can I check a given... (3 Replies)
Discussion started by: pstein
3 Replies
echo(1) 						      General Commands Manual							   echo(1)

NAME
echo - echo (print) arguments SYNOPSIS
[arg] ... DESCRIPTION
writes its arguments separated by blanks and terminated by a new-line on the standard output. It also understands C-like escape conven- tions; beware of conflicts with the shell's use of write an alert character backspace print line without appending a new-line form-feed new-line carriage return tab vertical tab backslash the 8-bit character whose ASCII code is the 1-, 2-, 3- or 4-digit octal number n, whose first character must be a zero. write an 8-bit value that is the zero-, one-, two- or three-digit octal number num is useful for producing diagnostics in command files and for sending known data into a pipe. Notes Berkeley differs from this implementation. The former does not implement the backslash escapes. However, the semantics of the escape can be obtained by using the option. The echo command implemented as a built-in function of follows the Berkeley semantics (see csh(1)). EXTERNAL INFLUENCES
Environment Variables determines the interpretation of arg as single and/or multi-byte characters. If is not specified in the environment or is set to the empty string, the value of is used as a default for each unspecified or empty vari- able. If is not specified or is set to the empty string, a default of "C" (see lang(5)) is used instead of If any internationalization variable contains an invalid setting, behaves as if all internationalization variables are set to "C". See environ(5). International Code Set Support Single- and multi-byte character code sets are supported. AUTHOR
was developed by OSF and HP. SEE ALSO
sh(1). BUGS
No characters are printed after the first This is not normally a problem. STANDARDS CONFORMANCE
echo(1)
All times are GMT -4. The time now is 11:16 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy