Re: grep by paragraph

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

 



On Fri, Aug 30, 2013 at 11:54:20AM -0500, Michael Hennebry wrote:
> On Fri, 30 Aug 2013, Timothy Murphy wrote:
> 
> >Dave Mitchell wrote:
> >
> >>>that will print out a whole paragraph -
> >>>defined as the section between two blank lines -
> >>>containing a given word or phrase?
> >>>
> >>>Such as the above 4 lines.
> >>>If not, can anyone suggest a simple script that will do this?
> >>
> >>The perl one-liner below demonstrates this. Setting the $/ (input record
> >>separator) var to the empty string causes perl to read in "lines" a
> >>paragraph at a time.
> >
> >>    $ perl -e'$/=""; while (<>) { print if /green/ }' /tmp/text
> >
> >Thanks for the solutions.
> >
> >I gather there is no method using grep or one of its variants?
> 
> sed could do it.
> I don't have a recipe on me at the moment.

Try this:

$ sed -e '/[^[:space:]]\+/{H;d}' -e 'x;/<search_string>/!d' path_to_file.txt

This has the side-effect of adding a newline in the front.  You can
partially deal with it by using `1h;1!H' instead of `H' in the first
expression; but it only works if the match is in the 1st paragraph.  I
do not think it is possible to deal with it properly in sed.

Cheers,

PS: Modified version of an example from this article:
    <http://www.thegeekstuff.com/2009/12/unix-sed-tutorial-7-examples-for-sed-hold-and-pattern-buffer-operations/>

-- 
Suvayu

Open source is the future. It sets us free.
-- 
users mailing list
users@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe or change subscription options:
https://admin.fedoraproject.org/mailman/listinfo/users
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct
Guidelines: http://fedoraproject.org/wiki/Mailing_list_guidelines
Have a question? Ask away: http://ask.fedoraproject.org




[Index of Archives]     [Older Fedora Users]     [Fedora Announce]     [Fedora Package Announce]     [EPEL Announce]     [EPEL Devel]     [Fedora Magazine]     [Fedora Summer Coding]     [Fedora Laptop]     [Fedora Cloud]     [Fedora Advisory Board]     [Fedora Education]     [Fedora Security]     [Fedora Scitech]     [Fedora Robotics]     [Fedora Infrastructure]     [Fedora Websites]     [Anaconda Devel]     [Fedora Devel Java]     [Fedora Desktop]     [Fedora Fonts]     [Fedora Marketing]     [Fedora Management Tools]     [Fedora Mentors]     [Fedora Package Review]     [Fedora R Devel]     [Fedora PHP Devel]     [Kickstart]     [Fedora Music]     [Fedora Packaging]     [Fedora SELinux]     [Fedora Legal]     [Fedora Kernel]     [Fedora OCaml]     [Coolkey]     [Virtualization Tools]     [ET Management Tools]     [Yum Users]     [Yosemite News]     [Gnome Users]     [KDE Users]     [Fedora Art]     [Fedora Docs]     [Fedora Sparc]     [Libvirt Users]     [Fedora ARM]

  Powered by Linux