If I understand the problem and the solution from ennstate, then sed will be loaded up 1000 times. Here is an alternate solution. The attachment is a perl script, pvg (perl version of grep, very limited edition). Assuming that you have perl, this will do simple matching and it will also do the "-B n" behavior of GNU grep. This can then be called once to process the log file. (Get the attachment, rename it to "pvg", then run the test script.) Execute "./pvg -h" for a help page.
Here's a test script:
Code:
#!/bin/bash -
# @(#) s3 Demonstrate printing of text before a matched line.
echo "(Versions displayed with local utility \"version\")"
version >/dev/null 2>&1 && version =o $(_eat $0 $1)
P=./pvg
echo
echo " Input file data3:"
cat data3
echo
echo " Looking for d, normal search:"
$P d data3
echo
echo " Looking for d, print previous 2:"
$P -B 2 d data3
echo
echo " Looking for d, print previous 2, separator:"
$P -s ' ----- \n' -B 2 d data3
echo
echo " Looking for ask, print previous 100, quiet:"
$P -q -B 100 ask data3
exit 0
Producing:
Code:
% ./s3
(Versions displayed with local utility "version")
Linux 2.6.11-x1
GNU bash 2.05b.0
Input file data3:
1 Alabama AL
2 Alaska AK
3 Arizona AZ
4 Arkansas AR
5 California CA
6 Colorado CO
7 Connecticut CT
8 Delaware DE
9 District of Columbia DC
10 Florida FL
Looking for d, normal search:
6 Colorado CO
10 Florida FL
( Lines read: 10; hits: 2 )
Looking for d, print previous 2:
4 Arkansas AR
5 California CA
6 Colorado CO
8 Delaware DE
9 District of Columbia DC
10 Florida FL
( Lines read: 10; hits: 2 )
Looking for d, print previous 2, separator:
4 Arkansas AR
5 California CA
6 Colorado CO
-----
8 Delaware DE
9 District of Columbia DC
10 Florida FL
( Lines read: 10; hits: 2 )
Looking for ask, print previous 100, quiet:
1 Alabama AL
2 Alaska AK
It can be a lot of work to make sure that perl and friends are installed, but once it's done, then you can use it for many things. Most systems have it already available.
There is also cgrep at freshmeat.net: Project details for cgrep which has a wealth of features. You need to go through a compilation, but it was fairly painless.
Hi,
I need to redirect the lines in a file to a different file if the character starting from 2 to 6 in the line are numerical .
Please let me know if anyone have any script to do this.
Thanks,
Ranjit (4 Replies)
Hi all,
I'm looking for some help. I have a file (very long) that is organized like below:
>Cluster 0
0 283nt, >01_FRYJ6ZM12HMXZS... at +/99%
1 279nt, >01_FRYJ6ZM12HN12A... at +/99%
2 281nt, >01_FRYJ6ZM12HM4TS... at +/99%
3 283nt, >01_FRYJ6ZM12HM946... at +/99%
4 279nt,... (4 Replies)
I have a text file, a sample of which is as follows:
r/- * 0: WINDOWS/Microsoft.NET/Framework/v2.0.50727/ASP.NETWebAdminFiles/Images/headerGRADIENT_Tall.gif
r/- * 0: WINDOWS/SoftwareDistribution/Download/cf8ec753e88561d2ddb53e183dc05c3e/backoff.jpg
r/- * 0: ... (2 Replies)
Hi Guys,
Was trying to attempt the below using awk and sed, have no luck so far, so any help would be appreciated.
Current Text File: The first line has got an "\n", and the second line has got spaces/tabs then the word and "\n"
TIME SERVER/CLIENT TEXT... (6 Replies)
Hi,
I am trying to locate the occurences of certain pattern like 'Possible network disconnect' in a text file. I can get the actual lines matching the pttern using:
grep -w 'Possible network disconnect' file_name.
But I am more interested in getting the timing of these events which are... (7 Replies)
I need to search for two patterns in a file and find number of matching lines.
find . -type f | xargs grep "DROP TABLE" | wc -l
find . -type f | xargs grep "DROP SYNONYM" | wc -l
The above code works. However I am looking at finding a commnd that will simplify as on a singe command... (2 Replies)
Hi all,
I want to search for strings in file1 that can be found in file2 and print out the whole line when matching pattern is found.
I have used the below command, but this is not working for me, because it is writing out only the matching patterns from file2, not the whole line.
fgrep -o... (2 Replies)
'Hi
I'm using the following code to extract the lines(and redirect them to a txt file) after the pattern match. But the output is inclusive of the line with pattern match.
Which option is to be used to exclude the line containing the pattern?
sed -n '/Conn.*User/,$p' > consumers.txt (11 Replies)
Hi all!
Thanks for taking the time to view this!
I want to grep out all lines of a file that starts with pattern 1 but also does not match with the second pattern.
Example:
Drink a soda
Eat a banana
Eat multiple bananas
Drink an apple juice
Eat an apple
Eat multiple apples
I... (8 Replies)
Hi,
I have a file called abc.txt with the following dates
2016-01-27
2016-01-28
2016-01-29
2016-01-30
2016-01-31
2016-02-01
2016-02-02
2016-02-03
I would like to print all lines below if 2016-01-31 is found, excluding that date.
I use this command --> sed '1,/2016-01-31/d' abc.txt
If... (4 Replies)
Discussion started by: Nagesh_1985
4 Replies
LEARN ABOUT SUNOS
echo
echo(3XCURSES) X/Open Curses Library Functions echo(3XCURSES)NAME
echo, noecho - enable/disable terminal echo
SYNOPSIS
cc [ flag... ] file... -I /usr/xpg4/include -L /usr/xpg4/lib
-R /usr/xpg4/lib -lcurses [ library... ]
c89 [ flag... ] file... -lcurses [ library... ]
#include <curses.h>
int echo(void);
int noecho(void);
DESCRIPTION
The echo() function enables Echo mode for the current screen. The noecho() function disables Echo mode for the current screen. Initially,
curses software echo mode is enabled and hardware echo mode of the tty driver is disabled. The echo() and noecho() functions control soft-
ware echo only. Hardware echo must remain disabled for the duration of the application, else the behavior is undefined.
RETURN VALUES
Upon successful completion, these functions return OK. Otherwise, they return ERR.
ERRORS
No errors are defined.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Interface Stability |Standard |
+-----------------------------+-----------------------------+
|MT-Level |Unsafe |
+-----------------------------+-----------------------------+
SEE ALSO getch(3XCURSES), getstr(3XCURSES), initscr(3XCURSES), libcurses(3XCURSES), scanw(3XCURSES), attributes(5), standards(5)SunOS 5.10 5 Jun 2002 echo(3XCURSES)