What I am trying to do is check if the database query returned any records.
If no records returned then output a message else output results to a file.
Right now if I take out the if and else statements the code runs fine and sends the email. If no records returned the email sends the column names. I would like to send a message instead of the column heading.
Here is my code can anyone help?
Code:
#!/bin/ksh
#cd /home/john/
. sybase
. ss_pto.id
echo "****** Please do not reply to this message ******" > ss_pto.status
echo " " >> ss_pto.status
echo New PTO and Special Requests ADDED as of: `date` >> ss_pto.status
echo " " >> ss_pto.status
echo Please add to Outlook calendars: >> ss_pto.status
#export today=`date`
date '+%m %d %Y %H %M %S' |
{
read MONTH DAY YEAR HOUR MINUTE SECOND
DAY=`expr "$DAY" - 1`
case "$DAY" in
0)
MONTH=`expr "$MONTH" - 1`
case "$MONTH" in
0)
MONTH=12
YEAR=`expr "$YEAR" - 1`
;;
esac
DAY=`cal $MONTH $YEAR | grep . | fmt -1 | tail -1`
esac
}
tempdate="$YEAR"-"$MONTH"-"$DAY"" ""$HOUR":"$MINUTE":"$SECOND"
isql -U $U -P $P -S $S -w1000 -o tmp_isql.status << label1
use ptodb_rch01_prod
go
select RTRIM(usr.fname) "First name", convert(char(20), usr.lname) "Last name", convert(char(15), ind.pto_date, 107) "PTO Date", ind.comments "Comments"
from ss_pto_user usr, ss_pto_index ind
where
ind.user_id = usr.user_id and ind.request_date >= '$tempdate' and (ind.class_id = 7 and ind.section_id = 5 or ind.class_id = 2 and ind.section_id = 4 )
order by usr.lname asc
go
label1
reccnt=`wc -l tmp_isql.status`
if [reccnt = 0]
message="no records returned"
echo $message>>ss_pto.status
else
cat tmp_isql.status>>ss_pto.status
mailx -s"SS PTO" -senders email reciepents email < ss_pto.status
i have a file named file_names.dat where there are several files along with their path.
exp:
/data1/dir1/CTA_ACD_20071208.dat
/data1/dir1/CTA_DFG_20071208.dat
i want to write a script which will create a csv file with the name of the file and record count of that file
the output file... (4 Replies)
i use unix command to take the record count for a file1
awk 'END{print NR}' filename
i already have a file2 which conatin the count like
...
..
rec_cnt=100
..
..
I want to replace the record in the file2 using the record i take from file1.
suggest me some simple ways of doing it... (2 Replies)
Hi all
How to verify the number of records in case of delimited file, If the file has records. And then if it is not equal to mentioned no. of records, email is triggered and file is moved to bad directory path.
Example
-----
input file = a.txt
bad directory path : /usr/bin/bad (6 Replies)
recod,amount,noofaccount,count
98,+00000187865779787,00319,000000640/
99,+00000187865779787,00001,000000642/
thsi is my input file my question is
1) Reduce the count on the 98 record by 2 (6 Replies)
Hi ,
I am having a text file with several records., it has a header record and trailer record. The header record has the number of rows (records) found in the text file and time-stamp. The footer record has the total number of records ( along with the header and trailer.,
Suppose:
wc -l... (4 Replies)
Hi all,
I have written a scripts which count number of lines in all the files in a directory and write in a text file. I don't know how to format it while writing. OS suns solaris 10
my scripts is as below
for i in /ersdg3/ERS/ERS_INPUT_LOGS/RIO/LOGS/RIO_02-Aug-2012/ *.LOG
do
echo... (11 Replies)
We have the below records where we need record count of every 30 minute like 00:01 to 00:30 so in that we will have 48 record count in 24 hrs , and also we need sum of record count from 00:01 to 23:30. Please find sample data as well.
00:01 21
00:02 23
00:03 34
00:04 34
00:05 30... (10 Replies)
Discussion started by: nadeemrafikhan
10 Replies
LEARN ABOUT MOJAVE
column
COLUMN(1) BSD General Commands Manual COLUMN(1)NAME
column -- columnate lists
SYNOPSIS
column [-tx] [-c columns] [-s sep] [file ...]
DESCRIPTION
The column utility formats its input into multiple columns. Rows are filled before columns. Input is taken from file operands, or, by
default, from the standard input. Empty lines are ignored.
The options are as follows:
-c Output is formatted for a display columns wide.
-s Specify a set of characters to be used to delimit columns for the -t option.
-t Determine the number of columns the input contains and create a table. Columns are delimited with whitespace, by default, or with
the characters supplied using the -s option. Useful for pretty-printing displays.
-x Fill columns before filling rows.
ENVIRONMENT
The COLUMNS, LANG, LC_ALL and LC_CTYPE environment variables affect the execution of column as described in environ(7).
EXIT STATUS
The column utility exits 0 on success, and >0 if an error occurs.
EXAMPLES
(printf "PERM LINKS OWNER GROUP SIZE MONTH DAY " ;
printf "HH:MM/YEAR NAME
" ;
ls -l | sed 1d) | column -t
SEE ALSO colrm(1), ls(1), paste(1), sort(1)HISTORY
The column command appeared in 4.3BSD-Reno.
BUGS
Input lines are limited to LINE_MAX (2048) bytes in length.
BSD July 29, 2004 BSD