Passing parameter to script, and split the parameter


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Passing parameter to script, and split the parameter
# 1  
Old 10-31-2012
Passing parameter to script, and split the parameter

i am passing input parameter 'one_two' to the script , the script output should display the result as below

one_1two
one_2two
one_3two



Code:
if  [ $# -ne 1 ]
then
echo " Usage : <$0>  <DATABASE> "
exit 0
else
for DB in 1 2 3 
do
DBname=`$DATABASE | awk -F "_" '{print $1_${DB}_$2}`
done
fi

---------- Post updated at 11:06 AM ---------- Previous update was at 11:04 AM ----------

throwing the below error

Code:
syntax error The source line is 1.
 The error context is
                {print >>>  $1_${ <<<
 awk: The statement cannot be correctly parsed.
 The source line is 1.

# 2  
Old 10-31-2012
Correction:-

Code:
if  [ $# -ne 1 ]
then
      echo " Usage : <$0>  <DATABASE> "
      exit 0
else
      DATABASE=$1
      for DB in 1 2 3 
      do
         echo $DATABASE | awk -v db=$DB -F "_" ' { print $1 "_" db "_" $2 } '
      done
fi

# 3  
Old 10-31-2012
Just change highlighted 3 as per your need(how many times you want to print)
Code:
if  [ $# -ne 1 ]
then
    echo " Usage : <$0>  <DATABASE> "
    exit 0
else
    val=$1
    echo $val | awk -F_ '{for(i=1;i<=3;i++){print $1"_"i$2}}' 
fi

# 4  
Old 10-31-2012
Quote:
Originally Posted by pamu
Just change highlighted 3 as per your need(how many times you want to print)
Code:
if  [ $# -ne 1 ]
then
    echo " Usage : <$0>  <DATABASE> "
    exit 0
else
    val=$1
    echo $val | awk -F_ '{for(i=1;i<=3;i++){print $1"_"i$2}}' 
fi


There's no need for awk; use shell parameter expansion:
Code:
db=$1
for n in 1 2 3 
do
  dbn=${db%_*}_$n${db#*_}
  echo "$dbn"
done

# 5  
Old 11-01-2012
Quote:
Originally Posted by cfajohnson
There's no need for awk; use shell parameter expansion:
Code:
db=$1
for n in 1 2 3
do
dbn=${db%_*}_$n${db#*_}
echo "$dbn"
done

Yes, indeed we can use this.
But the time taken by awk is very less as compared the your script for higher values of n(assume more than 1000).
# 6  
Old 10-31-2012
thanks pamu........ its working fine
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Passing parameter filled variable to a script.

Say I have something like this to try and build a parameter string: OPT1="This is my Option"; OPT2="/folder/file"; PARMS="-u me -J \"$OPT1\" -g \"$OPT2\""; ./script.ksh -n 1 $PARMS; ./script.ksh -n 2 $PARMS; ./script.ksh -n 3 $PARMS; ./script.ksh -n 4 $PARMS; But this doesn't work. ... (2 Replies)
Discussion started by: Devyn
2 Replies

2. Shell Programming and Scripting

Passing a parameter from a shell script to sqlplus

Hi All, I'm new to Linux and scripting, apologies in advance for 'stupid' questions. Please help... Im writing a script that calls a sqlplus script but the sqlplus requires inputs and i cant seem to get this to work. here is my code. #!/bin/sh TERM=vt100 export TERM... (4 Replies)
Discussion started by: Mahomed
4 Replies

3. SCO

Parameter passing to dot shell script

OS SCO Open Server 6.0 MP4 I am trying to change the value of a enviornment variable thru a script and want to pass a parameter on the commande line, If I hard code the value inside the script the script changes the enviornment variable . mytest where my test is MYVAR=$1 export MYVAR... (6 Replies)
Discussion started by: atish0
6 Replies

4. AIX

Passing a parameter to a shell script?

I would like to run a compress script on files in certain directories. My compress_script.sh is just basically compress file* In order for me to use this I have to copy it into each directory and run it. How can I state the directory on the command line with the compress script so it... (2 Replies)
Discussion started by: NycUnxer
2 Replies

5. Shell Programming and Scripting

Issue in passing a parameter value from one script to another

Hi Experts, I am passing current month & day (i.e. 'Jul 21') from script aaa.ksh to zzz.ksh. The value 'Mon DD' is being used in zzz.ksh. Problem: If I pass 'Mon DD' value manually to zzz.ksh i.e. /test/zzz.ksh 'Jul 21' it works fine. However, if I pass value from aaa.ksh, it does... (2 Replies)
Discussion started by: dipeshvshah
2 Replies

6. Shell Programming and Scripting

split the file based on the 2nd column passing as a parameter

I am unable to spit the file based on the 2nd column passing as a parameter with awk command. Source file: “100”,”customer information”,”10000” “200”,”customer information”,”50000” “300”,”product information”,”40000” script: the command is not allowing to pass the parameters with the awk... (7 Replies)
Discussion started by: number10
7 Replies

7. Shell Programming and Scripting

Passing parameter from one file to shell script

Hi All, I have a 2 files. File1 i am generating using an ETL tool, which is a comman seperated delimited file which contains country code & load date. everytime, this country code will be updated from a table. It might be AB or BA & ld_date will be for which date we need to load the file. ... (7 Replies)
Discussion started by: Amit.Sagpariya
7 Replies

8. Shell Programming and Scripting

Passing Filename as a Parameter to Another script

Hi, I have a requirement to write a script file(script1.sh) to read the file from the folder say /usr1/profiles/active and pass the file name as a parameter to another script file say (script2.sh) which would subsitute this parameter. The script2.sh will have a line like the one below ... (1 Reply)
Discussion started by: ravisg
1 Replies

9. Shell Programming and Scripting

Passing a parameter while calling a script

Hello everyone I was asked to pass a parameter in the calling of a script. I´ll have two parameters London and Birmingham and I´ll need to pass this because each of these will have a specific script however with the same name. /home/script/loaddata.ksh Lond /home/script/loaddata.ksh Birm... (2 Replies)
Discussion started by: Rafael.Buria
2 Replies

10. Shell Programming and Scripting

Passing Date as parameter with sh script

Hi I need to pass a date argument with my shell script. Can any one send me code for the same. eg For 15th Aug 2006. Iwant to pass parameter like this ./startenv.sh 08/15/2006. Everyday date argument must change. Will the below code work ? ./startenv.sh date '+%m/%d/%y' THanks... (1 Reply)
Discussion started by: pankajkrmishra
1 Replies
Login or Register to Ask a Question