Would like to print 3 lines after a regular expression is found in the logfile
I would like to print 3 lines after a regular expression is found in the logfile. I'm using the following code:
The above code things works fine,but sometimes gives erroneous results. In my case i'm searching for the expression X104 in the logfile. Sometimes X104 will contain only 1 line to print and after printing that .It also prints the next 3 lines after that, e.g:
(i)11/02/09 02:21:15 X104
Text : Unable to unlink/erase file
System Error Number: 13 (d) - The data is invalid.
(ii) Text : X104 disabled.
(iii) 11/03/09 01:01:03 web200
Text : Freespace on C: is at a critical level (694.55MB).
Text : X104 enabled per scheduled_reboot.
NSLOOKUP was successful. Please reload your
configuration.
(i) : I get the desired results, regexp is found and the next 3 lines are printed
(ii) : regexp is matched (contains only 1 line) and printed, but I receive the next 3 lines (including the newline) which I find not useful for me.
Can anyone help me out
Last edited by Franklin52; 08-06-2011 at 04:49 PM..
Reason: Please use code tags for data and code samples, thank you
I am trying to use regular expression to identify ONLY the commands that hasn't the word "tablespace" within it. a command starts with "create table" and ends with ; (semicolon)
example file:
create table first tablespace ;
create table second
(
BBL_CUSTOMER_NAME VARCHAR2(32),
a... (7 Replies)
Hi All,
I have file.txt with contents like this:
random text
To: recipient@email.co.uk
<HTML>S7randomtext more random text
random text
To: recip@smtpemail.com
<HTML>E5randomtext more random text
random text
I need the output to look like this:
1,,,1,S7
1,,,1,E5
My code so... (9 Replies)
Hey, I found a way to print the lines which is just before a regular expression, not including the expression.
sed -n '/regexp/{n;p;}' myfile
Now I'm looking for a way to print all lines, exept the regular expression and also the line before the same regular expression.
Use code tags. (1 Reply)
Hello,
How to print the field separator in awk? please see the following code:
cat a.txt
a 1s 2s 3s 4s
b 2s 4s
$ awk 'BEGIN{FS==" "} {print $2 $3 }' te
1s2s
2s4s
I want to get the following output :
1s 2s
2s 4s
How to realize this ?
$ cat te
a 1s,,2s 3s ... (11 Replies)
Hi all,
How am I read a file, find the match regular expression and overwrite to the same files.
open DESTINATION_FILE, "<tmptravl.dat" or die "tmptravl.dat";
open NEW_DESTINATION_FILE, ">new_tmptravl.dat" or die "new_tmptravl.dat";
while (<DESTINATION_FILE>)
{
# print... (1 Reply)
I have a very large file (over 700 million lines) that has some lines that I need to delete. An example of 5 lines of the file:
HS4_80:8:2303:19153:193032 153 k80:138891
HS4_80:8:2105:5544:43174 89 k88:81949
165 k88:81949 323 0 * = 323 0 ... (6 Replies)
So the tag for this forum says all newbies welcome...
All I want to do is go through my file and find lines which contain a given string of characters then replace these with a blank line. I really tried to find a simple command to do this but failed.
Here's what I did come up with though:
... (2 Replies)
Using a regular expression, I would like multiple lines to be matched.
By default, a period (.) matches any character except newline. However, (?s) and /s modifiers are supposed to force . to accept a newline and to match any character including a newline.
However, the following two perl... (4 Replies)
Discussion started by: LessNux
4 Replies
LEARN ABOUT REDHAT
pcregrep
PCREGREP(1) General Commands Manual PCREGREP(1)NAME
pcregrep - a grep with Perl-compatible regular expressions.
SYNOPSIS
pcregrep [-Vcfhilnrsvx] pattern [file] ...
DESCRIPTION
pcregrep searches files for character patterns, in the same way as other grep commands do, but it uses the PCRE regular expression library
to support patterns that are compatible with the regular expressions of Perl 5. See pcre(3) for a full description of syntax and semantics.
If no files are specified, pcregrep reads the standard input. By default, each line that matches the pattern is copied to the standard out-
put, and if there is more than one file, the file name is printed before each line of output. However, there are options that can change
how pcregrep behaves.
Lines are limited to BUFSIZ characters. BUFSIZ is defined in <stdio.h>. The newline character is removed from the end of each line before
it is matched against the pattern.
OPTIONS -V Write the version number of the PCRE library being used to the standard error stream.
-c Do not print individual lines; instead just print a count of the number of lines that would otherwise have been printed. If sev-
eral files are given, a count is printed for each of them.
-ffilename
Read patterns from the file, one per line, and match all patterns against each line. There is a maximum of 100 patterns. Trailing
white space is removed, and blank lines are ignored. An empty file contains no patterns and therefore matches nothing.
-h Suppress printing of filenames when searching multiple files.
-i Ignore upper/lower case distinctions during comparisons.
-l Instead of printing lines from the files, just print the names of the files containing lines that would have been printed. Each
file name is printed once, on a separate line.
-n Precede each line by its line number in the file.
-r If any file is a directory, recursively scan the files it contains. Without -r a directory is scanned as a normal file.
-s Work silently, that is, display nothing except error messages. The exit status indicates whether any matches were found.
-v Invert the sense of the match, so that lines which do not match the pattern are now the ones that are found.
-x Force the pattern to be anchored (it must start matching at the beginning of the line) and in addition, require it to match the
entire line. This is equivalent to having ^ and $ characters at the start and end of each alternative branch in the regular
expression.
SEE ALSO pcre(3), Perl 5 documentation
DIAGNOSTICS
Exit status is 0 if any matches were found, 1 if no matches were found, and 2 for syntax errors or inacessible files (even if matches were
found).
AUTHOR
Philip Hazel <ph10@cam.ac.uk>
Last updated: 15 August 2001
Copyright (c) 1997-2001 University of Cambridge.
PCREGREP(1)