01-14-2009
Need Help on query
I just started to learn unix -
need help to write a script to query a logfile and produce the results that
contains a specific word "alarm" for a period from X day to Y day.
I really have no idea how to begin -
please help...
____________________________________________________
# Print out XXX statistics
# Usage
DIR=/xxx/log/
FILE=${DIR}test.log
[ $# = 1 ] && { FILE=$FILE.$1 ; }
#echo "LEGEND: DN-Down ; UP-Up ; DS-Disconnected ; AL-Alert ; FL-Failed\n"
#echo "Device ID DN | UP | DS | AL| FL| Device ID DN | UP | DS | AL| FL|"
#echo "===============|====|====|===|===| ===============|====|====|===|===|"
cat $FILE | awk '
/Alert/ {
spos = index($0,"[") + 1
epos = index($0,"]")
LEN = epos - spos
DEV = substr($0,spos,LEN)
dev[DEV]++
getline;
getline;
getline;
if ( index($0,"Low") ) {
devalert[DEV]++
}
}
END {
for (i in dev ) {
printf "%-10s %4s \n", i, devalert[i]
}
} '
Last edited by snipfer; 01-15-2009 at 12:21 AM..
9 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
hi,
how can i do the following.....
i have file containing followig
a k 10000
b c 200000
d e 50
a j 40
how can i list all rows containg last value more than 1000?
and how can i find number of blank rows in the file?
THANKS!
regards
vivek (2 Replies)
Discussion started by: vivekshankar
2 Replies
2. Shell Programming and Scripting
I have converted data written on excel sheet in unix through shell & perl prg
now the problem is I want that if starting columns of the xls sheet is Blank than when data is converted into unix then it should appear with this '|' sign. but it appearing like this:
hfgg|tytt|
but I want like... (2 Replies)
Discussion started by: akash
2 Replies
3. Shell Programming and Scripting
hi friends i want to know details of `exec` exact use of this command .....
actually i went through the man page but i didn`t get the satisfactory ...conclusion....
thaks in advance.... (1 Reply)
Discussion started by: newson
1 Replies
4. Shell Programming and Scripting
I would like to use the result of a query in another query. How do I redirect/add the output to another variable?
$result = odbc_exec($connect, $query);
while ($row = odbc_fetch_array($result)) {
echo $row,"\n";
}
odbc_close($connect);
?>
This will output hostnames:
host1... (0 Replies)
Discussion started by: hazno
0 Replies
5. Shell Programming and Scripting
hi
i am producing txt outputs of archives created by our tsm software.
problem is some of these files are too large to open in excel so i can despatch.
here is a example of the output
TAG_460 /prod_bak 7 FILE /ARCHIVE/Whistles- ... (4 Replies)
Discussion started by: treds
4 Replies
6. Shell Programming and Scripting
Hi,
I have a requirement as below which needs to be done viz UNIX shell script
(1) I have to connect to an Oracle database
(2) Exexute "SELECT field_status from table 1" query on one of the tables.
(3) Based on the result that I get from point (2), I have to update another table in the... (6 Replies)
Discussion started by: balaeswari
6 Replies
7. Shell Programming and Scripting
hi
i want to make script. where i want to query from the user yes or no
exp: do you want to proceed :
y for yes
n for NO.
how this is possible in unix (3 Replies)
Discussion started by: dodasajan
3 Replies
8. UNIX for Dummies Questions & Answers
Hi,
I have a script to remove null values from a file. Could any one explain how this is working? :confused:
while read f
do
echo process $f
gawk... (0 Replies)
Discussion started by: abhi_n123
0 Replies
9. Shell Programming and Scripting
Hi,
I need to query Oracle database for 100 users. I have these 100 users in a file. I need a shell script which would read this User file (one user at a time) & query database.
For instance:
USER CITY
--------- ----------
A CITY_A
B CITY_B
C ... (2 Replies)
Discussion started by: DevendraG
2 Replies
LEARN ABOUT REDHAT
getdelim
GETLINE(3) Linux Programmer's Manual GETLINE(3)
NAME
getline, getdelim - delimited string input
SYNOPSIS
#define _GNU_SOURCE
#include <stdio.h>
ssize_t getline(char **lineptr, size_t *n, FILE *stream);
ssize_t getdelim(char **lineptr, size_t *n, int delim, FILE *stream);
DESCRIPTION
getline() reads an entire line, storing the address of the buffer containing the text into *lineptr. The buffer is null-terminated and
includes the newline character, if a newline delimiter was found.
If *lineptr is NULL, the getline() routine will allocate a buffer for containing the line, which must be freed by the user program. Alter-
natively, before calling getline(), *lineptr can contain a pointer to a malloc()-allocated buffer *n bytes in size. If the buffer is not
large enough to hold the line read in, getline() resizes the buffer to fit with realloc(), updating *lineptr and *n as necessary. In either
case, on a successful call, *lineptr and *n will be updated to reflect the buffer address and size respectively.
getdelim() works like getline(), except a line delimiter other than newline can be specified as the delimiter argument. As with getline(),
a delimiter character is not added if one was not present in the input before end of file was reached.
RETURN VALUE
On success, getline() and getdelim() return the number of characters read, including the delimiter character, but not including the termi-
nating null character. This value can be used to handle embedded null characters in the line read.
Both functions return -1 on failure to read a line (including end of file condition).
ERRORS
EINVAL Bad parameters (n or lineptr is NULL, or stream is not valid).
EXAMPLE
#define _GNU_SOURCE
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
FILE * fp;
char * line = NULL;
size_t len = 0;
ssize_t read;
fp = fopen("/etc/motd", "r");
if (fp == NULL)
exit(EXIT_FAILURE);
while ((read = getline(&line, &len, fp)) != -1) {
printf("Retrieved line of length %zu :
", read);
printf("%s", line);
}
if (line)
free(line);
return EXIT_SUCCESS;
}
CONFORMING TO
Both getline() and getdelim() are GNU extensions. They are available since libc 4.6.27.
SEE ALSO
read(2), fopen(3), fread(3), gets(3), fgets(3), scanf(3)
GNU
2001-10-07 GETLINE(3)