Re: How to search and replace

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2/3/06, Paul Howarth <paul@xxxxxxxxxxxx> wrote:
> Dan Track wrote:
> > Just wondering if you could exaplin something to me:
> >
> > 1) What does the following mean in plain english ^\(Target\[[^]]*\].
> > I'm getting confused by the number of "[" brackets. To be specific I
> > can't see how this part \[[^]]*\] is working. The \[ indicates the
> > match to the "[" string but what I read from [^]] here is that I want
> > the regular expression to match any of these ^] charaters. But there
> > isn't a ^ charater or a ].
>
> I'll take it element by element.
>
> ^ = Anchor the expression to the start of a line,
>
> \( ... \) = sed "remembers" whatever matches the expression between \(
> and \) and will use that text in the replacement part of the
> search-and-replace - a "\1" means the first "remembered" text, a "\2"
> means the second "remembered" text etc.
>
> Terget = boilerplate text to be matched
>
> \[ = match the literal character "["
>
> [^]] = match any character except "]"
>
> > 2) What does $!N mean.
>
> I pulled this from the sed FAQ, which explains it better than I could:
>
> http://www.student.northpark.edu/pemente/sed/sedfaq4.html#s4.23.2
>
>    Note that the 'N' followed by the 'P;D;' commands forms a "sliding
>    window" technique. A window of N lines is formed. If the multi-line
>    pattern matches, the block is handled. If not, the top line is printed
>    and then deleted from the pattern space, and we try to match at the
>    next line."
>
> $!N literally means "if we're not at the end of the file, read the next
> line into the pattern space"
>
Thanks very much for your time and help. I've learnt a lot from this.

Thanks
Dan


[Index of Archives]     [Current Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]     [Fedora Docs]

  Powered by Linux