06-11-2008
Counting up files
Hi,
I have a load of if statements that look for files in a directory, I want to be able to count them up and the total files confirmed in an email? I ahve tried expr but i this does not work and it only reads in the first if and ignores the rest.
Please see script,
#!/bin/ksh
###########
#VARIABLES#
###########
RUNREF=`date +%Y%m%d`
DIR="../files/"
EMAIL="cdmspb"
MAIL_FROM="******"
email_user()
{
#Email
mail -t "$1" << EOF
Subject: $3
From: $2
$4
$5
$6
EOF
}
##########################################################################
#check files are in a directory and once it has checked, email out to user#
##########################################################################
TOTAL_FOUND="0"
#echo "Look for file $DIR/abc.txt"
if [ -f ${DIR}abc.txt ]
then
TOTAL_FOUND=`expr $TOTAL_FOUND + 1`
fi
#echo "Look for file $DIR/def.out"
if [ -f {$DIR}def.out ]
then
TOTAL_FOUND=`expr $TOTAL_FOUND + 1`
fi
#echo "Look for file $DIR/ghi.dat"
if [ -f {$DIR}ghi.dat ]
then
TOTAL_FOUND=`expr $TOTAL_FOUND + 1`
fi
#echo "Look for file $DIR/jkl.csv"
if [ -f {$DIR}jkl.csv ]
then
TOTAL_FOUND=`expr $TOTAL_FOUND + 1`
fi
#echo "Look for file $DIR/mno.txt"
if [ -f {$DIR}mno.txt ]
then
TOTAL_FOUND=`expr $TOTAL_FOUND + 1`
fi
#echo "Look for file $DIR/pqr.dat"
if [ -f {$DIR}pqr.dat ]
then
TOTAL_FOUND=`expr $TOTAL_FOUND + 1`
fi
#echo "Look for file $DIR/stu.txt"
if [ -f {$DIR}stu.txt ]
then
TOTAL_FOUND=`expr $TOTAL_FOUND + 1`
fi
#echo "Look for file $DIR/vw.dat"
if [ -f {$DIR}vw.dat ]
then
TOTAL_FOUND=`expr $TOTAL_FOUND + 1`
fi
#echo "Look for file $DIR/xy.dat"
if [ -f {$DIR}xy.dat ]
then
TOTAL_FOUND=`expr $TOTAL_FOUND + 1`
fi
#echo "Look for file z.dat"
if [ -f {$DIR}z.dat ]
then
TOTAL_FOUND=`expr $TOTAL_FOUND + 1`
fi
FILE_LIST=`find $DIR`
# email all users
email_user "$EMAIL" "$MAIL_FROM" "Finished Running File Check : $RUNREF" "$TOTAL_FOUND File/s Found" "File/s available are" "$FILE_LIST"
##################################################
it is the TOTAL_FOUND that is not adding up at the end and when i get an email it only reads the first file lookup??
any help would greatly be appreciated!
9 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
I have two files I want to compare, one is a list of variables and the other is a text file COBOL program.
Basically what I want to do is display only those variables that appear in the COBOL program only once. However I would also accept a count of each variable as it appears in the COBOL... (2 Replies)
Discussion started by: Keith Gergel
2 Replies
2. UNIX for Dummies Questions & Answers
Which one line command can count and print to the screen the number of files containing "a" or "A" in their name (5 Replies)
Discussion started by: Edy
5 Replies
3. UNIX for Dummies Questions & Answers
Hi experts,
First of all thanks for all your help.
How can i count the lines within a text file and send this number to another text file?
And by the way how can i count the number of files inside a tape ("/dev/rtp") that as one pattern (Ex. "/CTA/") and send this number to a text file?
I... (6 Replies)
Discussion started by: jorge.ferreira
6 Replies
4. Shell Programming and Scripting
Hi all. If I have a unix directory with multiple files, lets say, I have some with .dat extensions, some with .txt extensions, etc etc.
How in a script would I provide a count of all the different file types (so, the different extensions, I guess) in the directory??
So if I had:
test.dat... (6 Replies)
Discussion started by: gerard1
6 Replies
5. UNIX for Dummies Questions & Answers
I'm regularly counting the number of rows in a number of files. I need to know how many rows their are in all files together. Counting rows in one file I can handle, but how do I count rows in all at once?
I'd be grateful for any answer. (7 Replies)
Discussion started by: DrZoidberg
7 Replies
6. Shell Programming and Scripting
Hello,
at the moment I'm on with programming some kind of version history script for network devices.
The configration files are uploaded in the form:
devicename-confg_date_time.
For keeping the last 10 configurations I want to split the devicename from the rest. This works well with... (5 Replies)
Discussion started by: Sally[-_-]
5 Replies
7. Shell Programming and Scripting
In a directory, I have 5000 multiple files that contains around 4000 rows with 10 columns in each file containing a unique string 'AT' located at 4th column.
OM 3328 O BT 268 5.800 7.500 4.700 0.000 1.400
OM 3329 O BT 723 8.500 8.900... (7 Replies)
Discussion started by: asanjuan
7 Replies
8. Shell Programming and Scripting
In a script, how would I go about finding the number of files for the first parameter after my script name?
For instance, my script name is myscript.sh and the folder I am checking is not the current working directory, lets say it's folder1.
so I type myscript.sh folder1
This script below... (2 Replies)
Discussion started by: Confirmed104
2 Replies
9. UNIX for Dummies Questions & Answers
i need to write a shell script to "count the number of files in the current directory but without using either ls or wc command".....
please help! (1 Reply)
Discussion started by: lexicon
1 Replies
LEARN ABOUT HPUX
strclean
strclean(1M) strclean(1M)
NAME
strclean - remove outdated STREAMS error log files
SYNOPSIS
logdir] age]
DESCRIPTION
cleans the STREAMS error logger directory of log files mm-dd) that contain error messages sent by the STREAMS log driver, strlog(7). If
the option is not used to specify another directory, removes error log files in the directory. If the option is not used to specify
another age, removes error log files that have not been modified in three days.
Options
recognizes the following options and command-line arguments:
Specifies a directory for the location of the
STREAMS error log files to be removed if this is not the default directory
Specifies a maximum age in days for the
STREAMS error log files if this not the default age of 3. The value of age must be an integer greater than or less than 3.
EXAMPLES
Remove day-old error log files from a directory called
FILES
One or more error log file or files on which operates. The mm-dd in the filename indicates the month and day of the messages con-
tained in the file.
NLS catalog for
SEE ALSO
strerr(1M), strlog(7).
strclean(1M)