03-02-2009
Count occurances of X Y Z in a file in 1 go.
Hi. I need to count multiple occurrences of X Y Z in a file in 1 go. At the moment I have the following scripts:
ssh readonly@$ServerIP 'YEAR=xx;DAY=xx;MONTH=xx;LMONTH=xx;for i in 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 \
16 17 18 19 20 21 22 23; do cat /var/SP/log/cre/access.log_$YEAR$MONTH$DAY*_$i | grep -c "HTTP/1.1\" \"503";done'>>$sshEF
this goes for HTTP1.1 503... then there is 500, 400, 403 and 404 which runs the same thing..
Now I have to look for HTTP response codes in the hourly log files on an apache web server.. and count them.
At the moment my grep command runs through the log files once for each response type.
I have also tried
var_500=0;var_503=0;var_400=0;var_403=0;var_404=0
for i in 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23;
do cat /var/SP/log/cre/access.log_$YEAR$MONTH$DAY*_$i | while read line
do
variable=`echo $line | awk '{print$7}'` #print response code with awk
case $variable in #ERRORS 1
500 ) var_500=`expr $var_500 + 1`;;
503 ) var_503=`expr $var_503 + 1`;;
400 ) var_400=`expr $var_400 + 1`;;
403 ) var_403=`expr $var_403 + 1`;;
404 ) var_404=`expr $var_404 + 1`;;
* ) hello=hello
esac
datetime=$i
Server=`hostname`
date="$YEAR/$MONTH/$DAY"
for p in 500 503 400 403 404;
do
err_desc="HTTP/1.1 $p"
Value=`echo $(var_$p)`
echo "vl$Servername,$date,$err_desc,$Value"
done
done
But the CPU utilization and time is too long to be a viable solution. ( 4min CPU time at over 3% utilization, whereas the grep -c is 10 seconds @ 0.1%)
Is there an easy way to count multiple things in a file in one go? Or should I just stick with grep -c?
Thanks in advance
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
I am writing my first shell script to do the following:
Find all occurrences of a directory from the pwd
Delete the directory (which is a hidden directory)
Provide feedback w/ the number of directories deleted
The problems I am having are two-fold:
The user may not have the appropriate... (2 Replies)
Discussion started by: stringman
2 Replies
2. Shell Programming and Scripting
Hi
Could anybody tell me how to count the number of occurances of a character within a LINE.
actually i have a single line with words seperated with '+' chracter e.g.
abc+def+ghj+jkl+asd
i want to separte the words above.
Please provide the necessary logic in the form of a SHELL... (6 Replies)
Discussion started by: skyineyes
6 Replies
3. Shell Programming and Scripting
I want to find the number of occurences of a character in a file.
How do i do it.
Eg:
$cat file1.txt
Welcome to World of Unix.
$
If i want to find the occurences of 'o' then I should be getting 3.
Thanks. (6 Replies)
Discussion started by: Shivdatta
6 Replies
4. UNIX for Dummies Questions & Answers
Hi,
I have a fixed width file in the following format
Sr.No A.No Name
1 2 PPP
3 4 PPP
5 6 TTT
7 8 OOO
9 10 OOO
11 12 OOO
The 3rd column starts at position 10 and ends at 15. I want to count the number of occurances of each Name and output to a file
Example in the... (2 Replies)
Discussion started by: samit_9999
2 Replies
5. Shell Programming and Scripting
I've written a script to count the total size of SAN storage LUNs, and also display the LUN sizes.
From server to server, the LUNs sizes differ.
What I want to do is count the occurances as they occur and change.
These are the LUN sizes:
49.95
49.95
49.95
49.95
49.95
49.95
49.95
49.95... (2 Replies)
Discussion started by: cyber111
2 Replies
6. Shell Programming and Scripting
Gurus,
Need little guidance.
I have A.txt and B.txt file. B.txt file contains Unique strings.
Sample content of B.txt file for which i cut the fourth column uniquely and output directed to B.txt file
And A.txt file contains the above string as a fourth column which is last column.
So A.txt... (7 Replies)
Discussion started by: Shirisha
7 Replies
7. Shell Programming and Scripting
I want to get the count of occurance of a user in a file.
abc
abc
bcd
bcd
bcd
xyz
The result should be like
abc 2
bcd 3
xyz 1 (2 Replies)
Discussion started by: Sanjeev Yadav
2 Replies
8. Shell Programming and Scripting
I have a file as shown below. I need to count the unique occurrences of numbers in the first and second column only if the third column is <= 10. Otherwise print the corresponding numbers as zero.
Thanks in advance!:)
58 80 40.74
76 80 9.78
76 80 8
12 6 9
30 28 8.23
45 12 ... (13 Replies)
Discussion started by: andreaalex
13 Replies
9. Shell Programming and Scripting
I have some text files as shown below. I would like to add the values of each string. Your help would be appreciated!!
file1.txt
SUS 2
PRS 2
ALI 1
PRS 1
GLK 2
file2.txt
PRS 3
GLK 6
SUS 18
Desired output
SUS 20
PRS 6 (2 Replies)
Discussion started by: arch
2 Replies
10. UNIX for Beginners Questions & Answers
Guys
I am trying grep to read from pattern file and count occurances of each word.
input is
firstplace
secondplace
secondpot
patternfile is
place
first
second
i want the following.
1-count number of times keywords in patternfile occurs in begining of each line in input file.
so... (12 Replies)
Discussion started by: ahfze
12 Replies
LEARN ABOUT DEBIAN
ns_connreturnnotmodified
Ns_ConnReturnStatus(3aolserver) AOLserver Library Procedures Ns_ConnReturnStatus(3aolserver)
__________________________________________________________________________________________________________________________________________________
NAME
Ns_ConnReturnBadRequest, Ns_ConnReturnForbidden, Ns_ConnReturnInternalError, Ns_ConnReturnNoResponse, Ns_ConnReturnNotFound, Ns_ConnReturn-
NotImplemented, Ns_ConnReturnNotModified, Ns_ConnReturnOk, Ns_ConnReturnStatus, Ns_ConnReturnUnauthorized, Ns_RegisterRedirect - Routines
to return simple standard responses
SYNOPSIS
#include "ns.h"
int
Ns_ConnReturnBadRequest(conn, msg)
int
Ns_ConnReturnForbidden(conn)
int
Ns_ConnReturnInternalError(conn)
int
Ns_ConnReturnNoResponse(conn)
int
Ns_ConnReturnNotFound(conn)
int
Ns_ConnReturnNotImplemented(conn)
int
Ns_ConnReturnNotModified(conn)
int
Ns_ConnReturnOk(conn)
int
Ns_ConnReturnStatus(conn, status)
int
Ns_ConnReturnUnauthorized(conn)
void
Ns_RegisterRedirect(server, status, url)
ARGUMENTS
Ns_Conn conn (in) Pointer to open connection.
char *msg (in) String with additional message text.
int status (in) Integer HTTP status code.
char *url (in) String which specifies internal redirection url.
char *server(in) Virtual server.
_________________________________________________________________
DESCRIPTION
These routines are used to generate complete responses, including headers, approriate status codes, content types, and possibly short HTML
content messages for the most common HTTP error or status responses. They each coorespond to a particular HTTP status code, for example,
Ns_ConnReturnNotFound generates an HTTP 404 "Not Found" response. They all return NS_OK if the response was sent or NS_ERROR if an under-
lying routine failed.
The default behavior is to return an internal, server generated response possibly with a short English language message, for example "The
requested URL cannot be accessed by this server". This behavior can be modified by calling the Ns_RegisterRedirect to redirect responses
internally for the cooresponding HTTP status code to another URL on the server. The "redirects" server config section can be used to map
these redirects at startup
int Ns_ConnReturnBadRequest(conn, msg)
Returns an HTTP 400 response with the short HTML message "Invalid Request: The HTTP request presented by your browser is invalid."
The optional msg string, if present, is also included in the message body.
int Ns_ConnReturnForbidden(conn)
Returns an HTTP 403 response with the short HTML message "Forbidden: The requested URL cannot be accessed by this server."
int Ns_ConnReturnInternalError(conn)
Returns an HTTP 500 response with the short HTML message "Server Error: The requested URL cannot be accessed due to a system error
on this server."
int Ns_ConnReturnNoResponse(conn)
Equivalent to Ns_ConnReturnStatus(conn, 204).
int Ns_ConnReturnNotFound(conn)
Returns an HTTP 404 response with the short HTML message "Not Found: The requested URL was not found on this server."
int Ns_ConnReturnNotImplemented(conn)
Returns an HTTP 404 response with the short HTML message "Not Implemented: The requested URL or method is not implemented by this
server."
int Ns_ConnReturnNotModified(conn)
Equivalent to Ns_ConnReturnStatus(conn, 304).
int Ns_ConnReturnOk(conn)
Equivalent to Ns_ConnReturnStatus(conn, 200).
int Ns_ConnReturnStatus(conn, status)
Generates a response with the given HTTP status with no content.
int Ns_ConnReturnUnauthorized(conn)
Returns an HTTP 401 response with the short HTML message "Access Denied: The requested URL cannot be accessed because a valid user-
name and password are required." As "WWW-Authenticate: Basic realm=server realm" header is also included in the response.
void Ns_RegisterRedirect(server, status, url)
Redirect the above responses from the given server for the given status code from the simple internal messages described above to
the given internal url. The redirect is performed using Ns_ConnRedirect.
SEE ALSO
Ns_ConnFlush(3), Ns_ConnRedirect(3), Ns_ConnSetRequiredHeaders(3), Ns_ConnQueueHeaders(3), ns_return(n)
KEYWORDS
connnection, response
AOLserver 4.0 Ns_ConnReturnStatus(3aolserver)