i done a little modification to my script and display the last two days and today report
Code:
#! /bin/bash
#retrieve current date and month
da_date="`date +%d`"
#da_date="2"
da_month=`date "+%m"`
#da_month="02"
prev_date=0
prev_mon=0
da_year=`date "+%Y"`
# Check whether date is above 3
if [ "$da_date" -ge "3" ];then
da_dat=`expr $da_date - 3`
da_dat="""$da_dat"
else
# If date is 2, it display the record of 2,1 and last day of previous month
if [ "$da_date" -eq "2" ];then
da_dat=2
prev_mon=`expr $da_month - 1`
prev_date=`cal $prev_mon $da_year | xargs -n1 | tail -1`
prev_date="""$prev_date"
else
# If date is 1, it display the record of 1 and last two days of previous month
da_dat=1
prev_mon=`expr $da_month - 1`
prev_date=`cal $prev_mon $da_year | xargs -n1 | tail -2| head -1`
prev_date="""$prev_date"
fi
fi
while read line1
do
line=`echo $line1 |grep -v Employee | awk '{if($2=="M") print $4}'`
if [ ! -z "$line" ];then
op_da=`echo $line | awk -F/ '{print $2}'`
op_mo=`echo $line | awk -F/ '{print $1}'`
op_year=`echo $line | awk -F/ '{print $3}'`
#if date is 3 and above following block will be executed
if [ \( \( "$da_dat" -eq "`expr $op_da - 3`" \) -o \( "$da_dat" -eq "`expr $op_da - 2`" \) -o \( "$da_dat" -eq "`expr $op_da - 1`" \) \) \
-a \( "$op_mo" -eq "$da_month" \) -a \( "$op_year" -eq "$da_year" \) -a \( "$prev_date" -eq "0" \) ];then
echo $line1 | awk '{print $1}'
#echo $line1
fi
#if date is 2 or 1 following block will be executed
if [ \( "$da_dat" -lt "3" \) -a \( \
\( \( "$op_da" -ge "$prev_date" \) -a \( "$op_mo" -eq "$prev_mon" \) -a "$op_year" -eq "$da_year" \) -o \
\( \( "$op_da" -le "$da_dat" \) -a \( "$op_mo" -eq "$da_month" \) -a \( "$op_year" -eq "$da_year" \) \) \) ];then
echo $line1 | awk '{print $1}'
#echo $line1
fi
fi
done < inp6
Input: inp6
Code:
Employee Gender NAME Last Login
ID Time
-------------------------------------------------
210125 M ABC 02/03/2012 08:07
451235 F EFG 02/02/2012 16:53
241567 M GHI 02/01/2012 14:03
314584 M JKL 02/02/2012 12:43
123456 M MNO 02/12/2012 00:00
654321 F PQR 02/12/2012 00:00
210120 M ZVF 02/03/2012 08:07
451230 F UNM 02/02/2012 16:53
241560 M IOP 02/05/2012 14:03
314580 M UOP 02/04/2012 12:43
123450 M MNN 02/12/2012 00:00
654320 F PQP 02/11/2012 00:00
65430 M PQP 01/30/2012 00:00
65432 M PQP 01/31/2012 00:00
245432 M PQP 01/29/2012 00:00
When i execute the script i got the below output.
Output
Quote:
123456
123450
Today date is 02/14/2012.
It displayed the record from 02/12/2012 to 02/14/2012.
123456 M MNO 02/12/2012 00:00
123450 M MNN 02/12/2012 00:00
ALL,
My shell script takes a employee file as input.
I have to identify the list of employees not in the input file and update their status in the database.
Approach I followed:
by traversing through the input file add all the emplid's to a variable.
update the status of employees not in... (2 Replies)
I am using /usr/bin/ksh in AIX
I am reading the values of $dbname, $dbatmpdir/dbdir.$$, and $scope from a different file
All I have to do is check if $dbname exists in file $dbatmpdir/dbdir.$$ and
$scope should have a value either 'TABLE' or 'SCHEMA'.
When I execute the following code. I am... (3 Replies)
Dear experts,
I have an epoch time input file such as : -
1302451209564
1302483698948
1302485231072
1302490805383
1302519244700
1302492787481
1302505299145
1302506557022
1302532112140
1302501033105
1302511536485
1302512669550
I need the epoch time above to be converted into real... (4 Replies)
I"m trying to calculate the duration of of backup within a ksh shell script but I get an error.
#!/bin/ksh
STTIM=`date '+%T'`
EDTIM=`date '+%T'`
....
....
echo "DURATION OF BACKUP: $((EDTIM - STTIM))" (5 Replies)
My goal is to create a script that will check if in a test or production environment. I wrote this script to check $host variable to check which server I'm on but this script does not work.
if
then
BASE=/home/fmtest; export BASE
else
BASE=/home/fmprod; export BASE
fi
... (5 Replies)
i have a ksh script which internally calls another ksh script.
this inner script has simple commands like shown in the code window.
In the script im trying to do a mv - it fails with arg list too long.
then i try to perform cp and cat - and both are failing with similar error.
:wall:
How is... (4 Replies)
Hi,
I'm quite new to ksh scripting, can someone help me with this.
Requirements:
I need to create a script that list the files from a user input date range.
e. g. format of file:
*c1*log.2012-12-22-14-00*
*c1*log.2012-12-22-14-00*
*c1*log.2012-12-22-14-00*... (1 Reply)
Hi,
I'm quite new to ksh scripting, can someone help me with this.
Requirements:
I need to create a script that list the files from a user input date range.
e. g. format of file:
*c1*log.2012-12-22-14-00*
*c1*log.2012-12-22-14-00*
*c1*log.2012-12-22-14-00*... (7 Replies)
Requirement is to list the files older than 365 days from multiple directories and delete them and log the list of files which are deleted to a log file.
so 1 script should only list files older than 365 days for each directory separately to a folder
The other script should read these files... (7 Replies)