![]() |
|
|
|
|
|||||||
| Forums | Portal | Register | Forum Rules | FAQ | Contribute | Members List | Arcade | Search | Today's Posts | Mark Forums Read |
| Shell Programming and Scripting Post questions about KSH, CSH, SH, BASH, PERL, PHP, SED, AWK and OTHER shell scripts here. |
|
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Simple Scripting Problem | felixwhoals | Shell Programming and Scripting | 3 | 12-16-2007 10:24 AM |
| Simple Array in Ksh Scripting | ravikirankethe | UNIX for Dummies Questions & Answers | 2 | 11-01-2006 08:35 AM |
| HELP me PLS... Simple Scripting! | liezer | Shell Programming and Scripting | 2 | 09-14-2006 06:50 AM |
| simple scripting question | gennaro | Shell Programming and Scripting | 3 | 06-16-2005 11:49 PM |
| any tutorials on simple scripting? | xyyz | UNIX for Dummies Questions & Answers | 3 | 03-13-2003 10:31 AM |
|
|
Submit Tools | LinkBack | Thread Tools | Search this Thread | Display Modes |
|
#1
|
|||
|
|||
|
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! |
| Forum Sponsor | ||
|
|
|
#2
|
|||
|
|||
|
Quote:
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. |
|
#3
|
||||
|
||||
|
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:
Code:
#! /usr/bin/ksh
while (($#)) ; do
if [[ $1 = ?(+|-)+([0-9]) ]] ; then
echo $1 is an integer
fi
shift
done
exit 0
|
|
#4
|
||||
|
||||
|
for Q3. replacing with "hello"
Code:
sed 's/=.*$/=hello/g' file1 |
|
#5
|
|||
|
|||
|
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. |
|
#6
|
||||
|
||||
|
Maybe try...
Code:
sed -e s/=ms1/=ms3/ -e s/=ms2/=ms4/ file1 > file2 |
||||
| Google The UNIX and Linux Forums |