Programming :: Pattern Detection In The Logs + Notification?
Sep 6, 2010
I'm looking for a solution of pattern detection in the logs and then allows to send me an email notification if it detects the previously specified term.I use already Logwatch, but I do not know if it is possible to configure it for that use.
I want to search a file for a particular pattern and if pattern found replace the line with new text. i am using awk 'match($0,"pattern") != 0 {print $0} ' filename to check if the pattern exists.how do i get the line number of the pattern and delete that line and replace the line with my new text?
I have to enhance the behaviour of a backup script written in perl. I don't need to change it, what I need to do is to create a bash script that does some checks like file name and file size, execute the backup script then check if the backup files match the original files.Here's how I try to do it:
- read the files from the original files folder - store them in an array - search in the array the files that have a specific file extension - store the file names that match the search pattern (I know the backup script skips some files so I can hardcode the search pattern) - run the backup script - read the files from the backup folder - store them in an array - compare the original files name and size stored in an array with those from the backup folder - send a report email
How do I turn off Pidgin notification balloons when a buddy logs on or off? I've looked through the application's preferences like 3 times; is there some sort of system control for notification balloons?
I am trying to detect ellipse in an image through hough transformation. I am looking for sombody who can guide me the sequence of operation needed to perform and the accurate order of those operation.
I've introduced myself to OpenCV a bit now and can do some of the most basic things with it. My current goal is to have a solid color object (say a red ball) and have a camera be able to find that object. Anybody know of any resources to start learning how to do this? Any tutorials/books? Or is there something I should be searching for instead of color detection and tracking that will give me things more in the right direction?
I would like to use the collision detection routine from the OPCODE library, newest version 1.3 ... There exist documentations, e.g. Opcode.pdf and OpcodeUserManual.pdf, but they do not agree with the source code, neither the current nor the previous version 1.2.
Any working example to check if to meshes collide? I only would like to define the meshes using triangles and connectivities (no callback function). I started with a code like the following, but not successfully.
#include <Opcode.h> using namespace Opcode; int main(void) { IceMaths::IndexedTriangle *Tri0 = new IceMaths::IndexedTriangle[10]; IceMaths::Point *Pnt0 = new IceMaths::Point[10]; MeshInterface Mesh0;
I need to add some text using sed before and after the matching pattern. Does any one have any clue?e.g.cat /my/file | sed -e "s/first pattern/New Pattern/g" . /my/file.bakNow I need a result like New Pattern
if the given pattern exists in the file with the very next line starting and endingwith the same pattern , delete the line that starts and ends with the given pattern.So upon running on this file
hai people<PATTERN> we had <PATTERN>a lot of fun<PATTERN> writing scripts
I'm working on a backup script which takes the following input:
Code: RevBackup.sh <options> <source> <target>
The problem I'm having is that the source and target might contain spaces in the path. ie. /home/eRJe/My Documents
I would like the script to ignore " " (backslash-space) as being a delimiter. how could I do this without stopping a normal space from being a delimiter?
I could do this with IFS. But so far I have only found info about setting a delimiter and not to "ignore" one
I want to go through a log file and find pattern1 and then a pattern2 only after pattern 1.So for example I want to know howManyRecords was in 13:30.I figured I grep for "start time for the job" and then only after that (and before the next occurence of that) grep for "howManyRecords". Is this a sane way?
Created application is working too slow, looks like there are a lot of memory leaks, there are a lot of pointers. Any effective tool for run-time errors and memory leaks detection in Visual Studio C++?
yes, this is a homework question, but no - I'm not trying to get anyone to do it for me. I think that I am really close, but can't quite get one small aspect to work. in gawk, I want to include a variable name in the search string, but the below code doesn't work.
I need to grep a pattern which can be present in one line or could be split in 2 lines.Normal grep wont work in this case. Can anyone please help on this?There are 100's of files in which i need to search for this pattern so time is also a constrain.
Any solution using awk/sed/regexp or other standard linux utility (this is for a mix of RH versions)? I am dealing with some very large application log files. I want to see everything that has been written to the log since the last application restart.
For an example take a log file like this: Code: # cat test.log 1 msg 2 msg 3 restart 1 4 msg 5 restart 2 6 msg
The following command is close to what I want: Code: # awk '/restart/,G' test.log 3 restart 1 4 msg 5 restart 2 6 msg
But the awk command grabs the first restart not the last. If it was working the way I wanted I would see something like this: Code: # awk '/restart/,G' test.log 5 restart 2 6 msg
So, I need something in that search pattern that says look for the last occurrence. I know how to do this with a pipe line - I could reverse the file and then do a similar awk and reverse back, or I could find the number associated with the last restart and then use that in the awk search. But these just take too long because the file is too big.
Is there a convenient method to find a text pattern that extends over several lines? In this case:
Empty line LineConsistingOfSingleWord
Preferably to return the line number where the pattern occurs to determine the first such after a known line number. In other words, in order to extract a block of text from within a file.
I have the following command that greps "/etc/cron.allow" and displays the following 9 lines of $file grep -A 9 "/etc/cron.allow" $file On the other hand I would like to grep a file for a certain text display the next couple of lines and stop when i hit a specified word or blank or pattern.Basically I would like my grep to end when the shell hits a blank, certain key word or pattern specified in command.
I'm fairly new to Perl and regular expressions. I have a large collection of files with their file names in the following general format: string - another string with spaces (2004) [year].ext I would like to know how I could create a regex to separate out:
the first string another string with spaces year extension
If you know of a better way of doing it without regular expressions, I would be happy to hear that way too.
i tried searching on google but found it difficult to say exactly what I was looking for.Task - Capitalise x number of letters at the start of words.eg. Original line - one.two.three.fourRevised line - One.Two.three.four (here only requiring 2 changes)Test data:
I'm writing a script that edits a Maya ascii file. Inside the .MA(maya ascii file) there is a line defaultRenderGlobals. My script is supposed to find this line and according to what options they manipulate will update the lines below defaultRenderGlobals. I've got that working... but... the issue i'm having is that defaultRenderGlobals is only made when a the maya scene is made into a batch render. I want my script to manually addefaultRenderGlobals line into the .ma file if its not there and add the certain lines below it.RenderGlobals is already there I want to just manipulate whats below it. Hope this makes sense
I have a question about sed programming, actually a one-liner for which I cannot find a solution, right now. I need to delete a line matching a specific pattern only if it is the last line. In practice, I would put together the following:
I have an interesting problem, sed '/pattern/{n;p;}' file, doesn't seem to be catching all of the matches in my file. As an example of this see below.test:
I want to strip the process name from the hosts - i did it with the code below.
I have two questions - is there a more compact way to strip off the process names? usalso i want to get rid of the errors after extracting the hostname. It is complaing about $arry[1]. using my $arry[1] is not allowed. Assigning the slice to a value, as is 'my $sliced_arry = $arry[1]; print $sliced_arry , does not work either.
Code:
Use of uninitialized value in pattern match (m//) at newcomm_stats.pl3 line 7, <NEWCOMM> line 16 here i get what i want - just the host name, but still get those nasty errors. assigning a value to $1 does not work, and localizing $1 with 'my' is not allowed.