Help with simple scripting actions

Hi,

I am a beginner in unix shell scripting.

I wanted simple information like
1- How to know what are the number of command line options given for the script file?

2- How to check if a variable value is interger or string?

3- How to use awk to replace value of a variable
For example I have a file with 5 lines
1
2 ResourceID=ms1
3
4 ResourceID=ms2
5

How can I replace ms1 and ms2 values with other values using awk?

Any site that can give me this information will also be very helpfull.
Thanks!

Hi,

regarding Q1:
if your shell supports getopts - I suggest you have a look at it (man getops). Otherwise you will need to write a small shell parsing code. (use $# shell variable that reports the amount of arguments passed to shell script).

regarding Q2:
I would use the following shell code:

expr ${VALUE} + 1 2>/dev/null
if [ $? -eq 0 ]
then
echo "Integer value"
else
echo "String value"
fi

cheers,
Slava R.

Regarding Q2, this depends on which shell you are using. It also depends on what an integer is. If 123 +456 -789 all count as integers, and if we are using ksh, I am fond of:

#! /usr/bin/ksh
while (($#)) ; do
        if [[ $1 = ?(+|-)+([0-9]) ]] ; then
                   echo $1 is an integer
        fi
        shift
done
exit 0

for Q3. replacing with "hello"

 sed 's/=.*$/=hello/g' file1

Thanks!!

Regarding Q3: I meant to replace values ms1 and ms2 with ms3 and ms4.
Using sed or awk, I can assign same value to ResourceID. I couldnt figure out how I can assign different values.

Maybe try...

sed -e s/=ms1/=ms3/ -e s/=ms2/=ms4/ file1 > file2