Eightball,
You said you want to delete two lines before the matched line and one line after the matched line, but your example deletes two lines before the match line and the matched line (leaving the line after the match as it was).
The script Ygor provided will provide output matching your example output, but only works on Linux systems (according to the man pages provided on this site, the tac utility is not available on OpenSolaris, FreeBSD, OSX, or POSIX systems).
The following ed script should work on any of these systems:
save the above script in a file named edscript, make it executable by running the command:
and then (assuming the input file you specified in your example is named in, execute the command:
to make the changes suggested by the sample output you provided and save the output in a file named out.
Hi all,
I have the following data in a file x.csv:
> ,this is some text here
> ,,,,,,,,,,,,,,,,2006/11/16,0.23
> ,,,,,,,,,,,,,,,,2006/12/16,0.88
< ,,,,,,,,,,,,,,,,this shouldnt be deleted
I need to use SED to match anything with a > in the line and delete that line, can someone help... (7 Replies)
I have files of more than 10K lines that I need to delete lines that contain a pattern, but I want to keep the first few lines intact. Can this be done with sed? (7 Replies)
I need to copy lines to a new file from files with sed using a pattern in char postions 1-3.
Then after the copy, I need to delete those same lines from the input files.
For example, string "ABC" in pos 1-3 (6 Replies)
Hello sed gurus. I am using ksh on Sun and have a file created by concatenating several other files. All files contain header rows. I just need to keep the first occurrence and remove all other header rows.
header for file
1111
2222
3333
header for file
1111
2222
3333
header for file... (8 Replies)
Hi,
I would like to delete lines in /etc/hosts on few workstations, basically I want to delete all the lines for a list of machines like this :
for HOST in $(cat stations.lst |uniq)
do
# echo -n "$HOST"
if ping -c 1 $HOST > /dev/null 2>&1
then
HOSTNAME_val=`rsh $HOST "sed... (3 Replies)
Hi
Im trying to do the following in sed. I want to delete any blank line at the start of a file until it matches a pattern and then stops. for example:
Input
output:
I have got it to work within a range of two patterns with the following:
sed '/1/,/pattern/{/^]*$/d}'
The... (2 Replies)
Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted!
1. The problem statement, all variables and given/known data:
I have file which has got the following content
sam 123 LD 41
sam 234 kp
sam LD 41
kam pu
sam LD 61
Now... (1 Reply)
The intended result should be :
PDF converters
'empty line'
gpdftext and pdftotext?xml version="1.0"?>
xml:space="preserve"><note-content version="0.1" xmlns:/tomboy/link" xmlns:size="http://beatniksoftware.com/tomboy/size">PDF converters
gpdftext and pdftotext</note-content>... (9 Replies)
I have a file
Line 1 a
Line 22
Line 33
Line 1 b
Line 22
Line 1 c
Line 4
Line 5
I want to delete all lines before last occurrence of a line which contains something which is defined in a variable. Say a variable var contains 'Line 1', then I need the following in the output.
... (21 Replies)
Discussion started by: Soham
21 Replies
LEARN ABOUT PHP
eregi_replace
EREGI_REPLACE(3) 1 EREGI_REPLACE(3)eregi_replace - Replace regular expression case insensitiveSYNOPSIS
string eregi_replace (string $pattern, string $replacement, string $string)
DESCRIPTION
This function is identical to ereg_replace(3) except that this ignores case distinction when matching alphabetic characters.
Warning
This function has been DEPRECATED as of PHP 5.3.0. Relying on this feature is highly discouraged.
PARAMETERS
o $pattern
- A POSIX extended regular expression.
o $replacement
- If $pattern contains parenthesized substrings, $replacement may contain substrings of the form digit, which will be replaced
by the text matching the digit'th parenthesized substring; will produce the entire contents of string. Up to nine substrings
may be used. Parentheses may be nested, in which case they are counted by the opening parenthesis.
o $string
- The input string.
RETURN VALUES
The modified string is returned. If no matches are found in $string, then it will be returned unchanged.
EXAMPLES
Example #1
Highlight search results
<?php
$pattern = '(>[^<]*)('. quotemeta($_GET['search']) .')';
$replacement = '\1<span class="search">\2</span>';
$body = eregi_replace($pattern, $replacement, $body);
?>
NOTES
Note
As of PHP 5.3.0, the regex extension is deprecated in favor of the PCRE extension. Calling this function will issue an E_DEPRECATED
notice. See the list of differences for help on converting to PCRE.
Tip
eregi_replace(3) is deprecated as of PHP 5.3.0. preg_replace(3) with the i ( PCRE_CASELESS) modifier is the suggested alternative.
SEE ALSO ereg(3), eregi(3), ereg_replace(3), preg_replace(3), quotemeta(3).
PHP Documentation Group EREGI_REPLACE(3)