Regular expression question...

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Andrew Munn

    Regular expression question...

    What is the best way to take each line beginning with <some_string> and move
    it down 5 lines lower in the file?


    Also, If you want to replace two consecutive blank lines with a single blank
    line, how do you do it? This isn't working:
    cat test_file.txt|s ed -r 's/[\n\n]/[\n]/'


    Thanks!!




  • rakesh sharma

    #2
    Re: Regular expression question...

    "Andrew Munn" <andrew60406@ho tmail.com> wrote in message news:<bdnkvr$s0 k$1@bob.news.rc n.net>...[color=blue]
    > What is the best way to take each line beginning with <some_string> and move
    > it down 5 lines lower in the file?[/color]

    ex -s inputfile <<[EOF]
    g/^regex/m+5
    x
    [EOF]

    sed -e '/\n/G;/^regex/{h;N;N;N;N;N;D; }' inputfile

    note: the outputs of ex and sed would diverge if the next /regex/ is found
    within the first 5 lines. don't know how to make them same. some sed guru
    is required for this.

    [color=blue]
    >
    > Also, If you want to replace two consecutive blank lines with a single blank
    > line, how do you do it? This isn't working:
    > cat test_file.txt|s ed -r 's/[\n\n]/[\n]/'
    >[/color]

    sed -e '/./!{$!N;/^\n$/s///;}' inputfile

    Comment

    Working...