01-13-2003
Problem in Awk
I have the following code in a awk script.
-------------------------------------------------
command= "sqlplus -s userid/password@database @test.sql CHICAGO"
while (command | getline)
{
var = $1
}
close(command)
---------------------------------------------------
Baically, i want to get some value from the database using a sql with an input parameter.
The query test.sql takes an input parameter and returns some value based on the input.
In more than 95% of the cases the query test.sql returns a value
and in very few cases, it returns nothing.
The problem is that when the command does not return any output(query returns 'no rows selected'), the script does not proceed past the line
while (command | getline)
and waits indefinitely for the input from the user.
When i press "Enter" , then it proceeds and prints the value of var as "Enter"
I want to make the script proceed further even if the command returns nothing.
Please suggest me as to what exactly i need to do?
Thanks in advance,
raju
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
Hi,
I posted something here about this yesterday but I can't seem to
find it. I needed help writting a script which would append a file
with new lines after every so many charachters.
Example: (my original flat file)
L60 LETTER OF CREDIT 60 DAYS W00 ON RECEIPT WIRE TRANSFER W30 NET... (12 Replies)
Discussion started by: gseyforth
12 Replies
2. Shell Programming and Scripting
Hi All,
How can i store a value of the unix command executed in AWK with system command.
devise=`cut -c1-3 dvgp.txt`
I wrote this command in awk as
awk'{
code= sprintf("devise=`cut -c1-3 dvgp.txt`");
system(code);
}'
Is this correct. can you please suggest me how the code can be... (1 Reply)
Discussion started by: krishna_gnv
1 Replies
3. Shell Programming and Scripting
Hi there every body
I'm new to shell scripting and there is a problem facing me,, please look at the following piece of code:
awk '
BEGIN{
FS="<assertion id=\1";
RS="<assertion id=\"2"}/<assertion id=\"1/{print FS$2 > "/home/ds2/test/output.txt"}
' filename
all I wanna do is to... (6 Replies)
Discussion started by: senior_ahmed
6 Replies
4. Shell Programming and Scripting
Actually I got a list of file end with *.txt
I want to use the same command apply to all the *.txt
Thus I try to find out the fastest way to write those same command in a script and then want to let them run automatics.
For example:
I got the file below:
file1.txt
file2.txt
file3.txt... (4 Replies)
Discussion started by: patrick87
4 Replies
5. Shell Programming and Scripting
Hi
I have many problems with a script. I have a script that formats a text file but always prints the same error when i try to execute it
The code is that:
{
if (NF==17){
print $0
}else{
fields=NF;
all=$0;
while... (2 Replies)
Discussion started by: fate
2 Replies
6. Shell Programming and Scripting
Find the number of files with sizes > 100KB in /, /bin, /usr, /usr/bin
and /usr/sbin directories and output them in a two column format with the
name of the directory and the number of files.
i tried with awk
$>ls -lh | awk '/^-/ && $5 >= 100k {print $8 $5}'
but it is not working pls tell... (3 Replies)
Discussion started by: abhikamune
3 Replies
7. UNIX for Dummies Questions & Answers
I thought I had solved this problem but after testing the script I came to realize that it is not doing what I need. So, here it goes again. This is the code:
awk '/\>/{F=$2; N=$3; split(FILENAME, A, "."); getline; x = ">"}{print ">" A"-" x++" "F" " N"\n" $0}'
This is the input file:
... (5 Replies)
Discussion started by: Xterra
5 Replies
8. Shell Programming and Scripting
i have a datafile that has several lines that look like this:
2,dataflow,Sun Mar 17 16:50:01 2013,1363539001,2990,excelsheet,660,mortar,660,4
using the following command:
awk -F, '{$3=strftime("%a %b %d %T %Y,%s",$3)}1' OFS=, $DATAFILE | egrep -v "\-OLDISSUES," | ${AWK} "/${MONTH} ${DAY}... (7 Replies)
Discussion started by: SkySmart
7 Replies
9. Shell Programming and Scripting
i have an email list in file.txt with comma separated
line1 - FIELD1,pippo@gmail.com,darth@gmail.com
line2 - FIELD2,pippo@gmail.com,darth@gmail.com,sampei@gmail.com
output=(awk -F ',' -v var="$awkvar" '$1==var {print $2,$3,$4}' spreadsheet.txt)but awk delete some letters at the... (8 Replies)
Discussion started by: pasaico
8 Replies
10. Shell Programming and Scripting
Hi
I have two columns and I would like to create a third column based on how many lines away from a value of 1 in column 2,
for example I have
1,0
2,0
3,0
4,0
5,0
6,1
7,0
8,0
9,0
10,0
11,1
And I want an output (6 Replies)
Discussion started by: garethsays
6 Replies