if you have not yet started on this project or looking at a brick wall, here is a quick breakdown of what needs to happen ...
A. grab entries from the log in 5 minute increments for each hour for each day
B. sort entries according to categories
C. create and format report
i suspect that you are getting stuck with item A so here's something to help you out ... i did it using ksh in solaris 10 so you may need to modify it according to the shell you need to use and the OS you are working in ... you still need to include the parts for items B and C but that should be easier to do ... the script may run faster using perl, python or ruby so feel free to use and modify ... be sure to test in safe place before running in production area ...
btw, "`< $tmpfile`" construct does not work in some shells so use "`cat $tmpfile`" instead ...
anyways, good luck!
Code:
#! /bin/ksh
list=/tmp/999
tmpfile=/tmp/444".tmp"
tmpdate=/tmp/444".date"
tmphour=/tmp/444".hour"
tmpatt=/tmp/444".att"
tmpok=/tmp/444".ok"
tmpno=/tmp/444".no"
grabentry(){
start=$1
end=$2
while [ $start -le $end ]
do
eval "awk '\$1 ~ /$date/ && \$2 ~ /$hour:$start:/ {print \$0}'" $list
start=`expr $start + 1`
if [ $start -lt 10 ]
then
start=0$start
fi
done
}
rm /tmp/444.* 2> /dev/null
##
## uncomment next 7 lines if script performance slows
#awk -F" " '{print $1 | "sort -u"}' $list > $tmpdate
#awk -F" " '{print $2}' $list | awk -F":" '{print $1 | "sort -u"}' > $tmphour
#
#for date in `< $tmpdate`
#do
# for hour in `< $tmphour`
# do
for date in `awk -F" " '{print $1 | "sort -u"}' $list` #<--| comment out if above 7 lines are uncommented
do #<--|
for hour in `awk -F" " '{print $2}' $list | awk -F":" '{print $1 | "sort -u"}'` #<--|
do #<--|
end=4
while [ $end -le 59 ]
do
if [ $end -lt 10 -a $end -ne 00 ]
then
end=0$end
fi
start=`expr $end - 4`
if [ $start -eq 0 ]
then
start=00
fi
if [ $start -lt 10 -a $start -ne 00 ]
then
start=0$start
fi
grabentry $start $end | awk 'NF > 0' > $tmpfile.$date.$hour.$end
if [ ! -s $tmpfile.$date.$hour.$end ]
then
rm $tmpfile.$date.$hour.$end 2> /dev/null
else
echo "-- cutoff time is $date $hour.$end --" ## echo line used for debugging, can be removed
cat $tmpfile.$date.$hour.$end ## replace this line with code to process, create and format report
fi
end=`expr $end + 5`
done
done
done
exit 0
I have a file with contents as follows
Record 1: Rejected - Error on table "DWO"."P2G_CUST_EVENTS".
ORA-00001: unique constraint (DWO.CUST_EVENTS_PK) violated
Record 5: Rejected - Error on table "DWO"."P2G_CUST_EVENTS".
ORA-00001: unique constraint (DWO.CUST_EVENTS_PK) violated
Record 6:... (5 Replies)
Hi folks,
- I have 800 txt files
- those files are cisco router configs
router1.txt
router2.txt
...
router800.txt
I want to accomplish the following:
- I want to have a seperate file with all the filenames that I want to process
- I want a script that goes trough all those... (7 Replies)
Dear All
I have a pattern which look like this:
2 20080312_10:55:35.800 Spain-Telefonica ISC 9 IAM 927535957 34670505334 f 275 COT b 700 ACM b 6577 CPG b 10726 ANM b 202195 REL f 202307 RLC :COMMA: NCI=15,FCI=2101,CPC=0A,TMR=00,USI,OFI=00: :COMMB: BCI=0214,OBI=01,ACT: :RELCAUSE:10:
This... (1 Reply)
I need help on following script:
I need to print the lines which are in bold letters in separate file as
record
string("|") emp_name;
string("|") emp_id;
decimal("|") emp_salary;
string("|") emp_status;
string("\n") emp_proj;
end (1 Reply)
Hello Everybody..
I've written the script that kick off through CRON job and kill itself by specific time.
I've start time and end time specify in env file.
i.e
START_TIME=1500 (03:00 PM)
END_TIME=0600 (06:00 AM)
It always works good if my START_TIME is before midnight and my... (4 Replies)
Hi,
I have a file with the following structure.
XXXXX...........
YYYYY...........
.................
..................
ZZZZZZ......
qwerty_start..............
..................
.................
..................
querty_end................
.............................. (3 Replies)
I'm a newbie in AIX, i want to make a script for grep any lines with date bellow 20
PRINT0089-88615 data1 3072 Mon Dec 19 17:53:49 WITA 2011
PRINT0089-88616 data1 4096 Mon Dec 19 17:53:49 WITA 2011
PRINT0089-88618 data1 5120 Mon Dec 19... (7 Replies)
Hello All,
I have written a script which which is working fine to a certain logic of it. But i want a part of the script to run two commands at 00:10 hrs every day. These two command are
1. rm -rf /path/to/folder
2. mail the content of a file.
How do i achieve this. Thanks.
... (4 Replies)
Hello,
Activity to perform:
1. Find all of the "*.tmp" files in a given user directory
2. Determine which ones have "find" in them.
3. Replace the "find sequence" of commands with a "list set" of commands.
Example:
Original file:
--------------
define lastn1 = "A"
define... (7 Replies)
This could be a really dummy question.
I have a log text file.
What unix command to extract line from specific string to another specific string.
Is it something similar to?:
more +/"string" file_name
Thanks (4 Replies)
Discussion started by: aku
4 Replies
LEARN ABOUT DEBIAN
dh_movefiles
DH_MOVEFILES(1) Debhelper DH_MOVEFILES(1)NAME
dh_movefiles - move files out of debian/tmp into subpackages
SYNOPSIS
dh_movefiles [debhelperoptions] [--sourcedir=dir] [-Xitem] file...]
DESCRIPTION
dh_movefiles is a debhelper program that is responsible for moving files out of debian/tmp or some other directory and into other package
build directories. This may be useful if your package has a Makefile that installs everything into debian/tmp, and you need to break that
up into subpackages.
Note: dh_install is a much better program, and you are recommended to use it instead of dh_movefiles.
FILES
debian/package.files
Lists the files to be moved into a package, separated by whitespace. The filenames listed should be relative to debian/tmp/. You can
also list directory names, and the whole directory will be moved.
OPTIONS --sourcedir=dir
Instead of moving files out of debian/tmp (the default), this option makes it move files out of some other directory. Since the entire
contents of the sourcedir is moved, specifying something like --sourcedir=/ is very unsafe, so to prevent mistakes, the sourcedir must
be a relative filename; it cannot begin with a `/'.
-Xitem, --exclude=item
Exclude files that contain item anywhere in their filename from being installed.
file ...
Lists files to move. The filenames listed should be relative to debian/tmp/. You can also list directory names, and the whole directory
will be moved. It is an error to list files here unless you use -p, -i, or -a to tell dh_movefiles which subpackage to put them in.
NOTES
Note that files are always moved out of debian/tmp by default (even if you have instructed debhelper to use a compatibility level higher
than one, which does not otherwise use debian/tmp for anything at all). The idea behind this is that the package that is being built can be
told to install into debian/tmp, and then files can be moved by dh_movefiles from that directory. Any files or directories that remain are
ignored, and get deleted by dh_clean later.
SEE ALSO debhelper(7)
This program is a part of debhelper.
AUTHOR
Joey Hess <joeyh@debian.org>
9.20120909 2012-05-19 DH_MOVEFILES(1)