script help


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting script help
# 1  
Old 09-19-2008
script help

Hi
I wrote script to get column name and data type from table but its not giving what i expect .

Code:

tab1=$1
 
if [ ! -f $tab1 ] ; then
echo "file1 not exist:$tab1"
fi
col1=`awk -F" " '/SET TABLE/{print substr($4,(index($4,".")+1))}1'  $tab1 |egrep -iv 'create|journal|default|index'| sed -e 's/(//g' -e 's/)//g'|awk -F " " '{print $1 }'|awk NF`
 
len1=`awk -F" " '/SET TABLE/{print $4}1'  $tab1 |egrep -iv 'create|journal|default|index'|awk -F " " '{print $2 }'`
echo "$col1 $len1\n"
 

a.sql

CREATE SET TABLE HIST ,NO FALLBACK ,
NO BEFORE JOURNAL,
NO AFTER JOURNAL,
CHECKSUM = DEFAULT
(
Id INTEGER NOT NULL,
Cd CHAR(10) CHARACTER SET LATIN NOT CASESPECIFIC NOT NULL,
Category_Cd VARCHAR(5) CHARACTER SET LATIN NOT CASESPECIFIC NOT NULL,
Start_Dt DATE FORMAT 'YYYY-MM-DD' NOT NULL,
Ind CHAR(1) CHARACTER SET LATIN NOT CASESPECIFIC,
End_Dt DATE FORMAT 'YYYY-MM-DD'
)PRIMARY INDEX ( Party_Id );

#gelcol.sh a.sql

HIST
Id
Cd
Category_Cd
Start_Dt
Ind
End_Dt 
 
INTEGER
CHAR(10)
VARCHAR(5)
DATE
CHAR(1)
DATE

O/p should be 

Id                INTEGER
Cd                CHAR(10)
Category_Cd       VARCHAR(5)
Start_Dt          DATE
Ind               CHAR(1) 
End_Dt            DATE

Thanks,
MR
# 2  
Old 09-19-2008

What do you expect?

What do you get?

What's wrong with it?
# 3  
Old 09-19-2008
Hi
I am expecting column name and data type in same line.

Thanks,
MR
# 4  
Old 09-19-2008
You can use the paste command to put two sequences next to each other in columns, but the input needs to come from two files. It's probably better if you could revamp the code into a single awk script which collects the information you want.
# 5  
Old 09-19-2008
Hi Era,

Thanks ,I will use single awk script but that sed it will remove ( &) in all places ,I want remove it from start and last only .Please help me on this

Thanks,
MR
Login or Register to Ask a Question

Previous Thread | Next Thread

5 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to block first bash script until second bash script script launches web server/site?

I'm new to utilities like socat and netcat and I'm not clear if they will do what I need. I have a "compileDeployStartWebServer.sh" script and a "StartBrowser.sh" script that are started by emacs/elisp at the same time in two different processes. I'm using Cygwin bash on Windows 10. My... (3 Replies)
Discussion started by: siegfried
3 Replies

2. Shell Programming and Scripting

Shell script works fine as a standalone script but not as part of a bigger script

Hello all, I am facing a weird issue while executing a code below - #!/bin/bash cd /wload/baot/home/baotasa0/sandboxes_finance/ext_ukba_bde/pset sh UKBA_publish.sh UKBA 28082015 3 if then echo "Param file conversion for all the areas are completed, please check in your home directory"... (2 Replies)
Discussion started by: ektubbe
2 Replies

3. UNIX for Dummies Questions & Answers

Calling a script from master script to get value from called script

I am trying to call a script(callingscript.sh) from a master script(masterscript.sh) to get string type value from calling script to master script. I have used scripts mentioned below. #masterscript.sh ./callingscript.sh echo $fileExist #callingscript.sh echo "The script is called"... (2 Replies)
Discussion started by: Raj Roy
2 Replies

4. Shell Programming and Scripting

Script will keep checking running status of another script and also restart called script at night

I am using blow script :-- #!/bin/bash FIND=$(ps -elf | grep "snmp_trap.sh" | grep -v grep) #check snmp_trap.sh is running or not if then # echo "process found" exit 0; else echo "process not found" exec /home/Ketan_r /snmp_trap.sh 2>&1 & disown -h ... (1 Reply)
Discussion started by: ketanraut
1 Replies

5. Shell Programming and Scripting

create a shell script that calls another script and and an awk script

Hi guys I have a shell script that executes sql statemets and sends the output to a file.the script takes in parameters executes sql and sends the result to an output file. #!/bin/sh echo " $2 $3 $4 $5 $6 $7 isql -w400 -U$2 -S$5 -P$3 << xxx use $4 go print"**Changes to the table... (0 Replies)
Discussion started by: magikminox
0 Replies
Login or Register to Ask a Question