Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine

Re^5: Join lines that match an string

by linuxer (Curate)
on Jul 13, 2010 at 08:52 UTC ( #849197=note: print w/replies, xml ) Need Help??

in reply to Re^4: Join lines that match an string
in thread Join lines that match an string

From the discussion I see that I misunderstood your initial posting. But I am as confused as kennethk is.

What I think so far:

  • you have a file with a lot of lines
  • you want to match several lines and join them into one
  • the lines you want to match build a consecutive range (e.g. lines 5-11)
  • the range of lines you want to match starts with a line containing the string "remotely"
  • the range of lines you want match ends with a line containing the string "p_agrs"

Based upon that, I guessed this code:

#! /usr/bin/perl use strict; use warnings; # open file and read from that handle... while ( <DATA> ) { chomp; print if m/remotely/ ... m/p_agrs/; print $/ if m/p_agrs/; } __DATA__ not me foo remotely bar01 bar02 bar03 p_agrs i am not here foo2 remotely barbar01 p_agrs i am out...


foo remotelybar01bar02bar03p_agrs foo2 remotelybarbar01p_agrs

Replies are listed 'Best First'.
Re^6: Join lines that match an string
by ambrus (Abbot) on Jul 13, 2010 at 17:58 UTC

    What really isn't clear in the OP is whether you want to keep the lines you don't join in the output or throw those lines away. This isn't even clear from your detailed description, though in your code you throw them away. I assumed the OP wanted to keep those lines and only change the joined lines.

      My detailed description could not be clear for that detail.

      I simply tried to summarize those conditions, which got clear enough to me (as I am not the OP).

      From my personal experience with similar exercises I tend to drop/ignore those lines.

      I think my example shows that.

      But I learned that my guess (to drop those lines, which aren't to be joined) was wrong.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://849197]
[marto]: good morning all
[Corion]: Hi marto ;)
[Corion]: I hope you're well ;)
[marto]: running late today, get to work and people are just sitting around. "can't delete file, quota exceeded"
[Corion]: marto: Oy :-/
[Corion]: Ah, it's only "quota exceeded", not "filesystem full", so it's "merely" an administrative act to up the FS quota resp. inode quota
[Corion]: I've been on databases where I couldn't drop a table or delete rows because the DB was full. Not so much fun...

How do I use this? | Other CB clients
Other Users?
Others musing on the Monastery: (7)
As of 2017-01-24 09:53 GMT
Find Nodes?
    Voting Booth?
    Do you watch meteor showers?

    Results (203 votes). Check out past polls.