The grep alternative sift supports multiline matching (disclaimer: I am the author).
Suppose testfile
contains:
<book>
<title>Lorem Ipsum</title>
<description>Lorem ipsum dolor sit amet, consectetur
adipiscing elit, sed do eiusmod tempor incididunt ut
labore et dolore magna aliqua</description>
</book>
sift -m '<description>.*?</description>'
(show the lines containing the description)
Result:
testfile: <description>Lorem ipsum dolor sit amet, consectetur
testfile: adipiscing elit, sed do eiusmod tempor incididunt ut
testfile: labore et dolore magna aliqua</description>
sift -m '<description>(.*?)</description>' --replace 'description="$1"' --no-filename
(extract and reformat the description)
Result:
description="Lorem ipsum dolor sit amet, consectetur
adipiscing elit, sed do eiusmod tempor incididunt ut
labore et dolore magna aliqua"
grep
. They are tightly related but not dups, IMO. – slm Sep 16 '14 at 01:38"grep"
suggesting the verb "to grep", and top answers, including accepted, don't use grep. – Ciro Santilli OurBigBook.com Sep 16 '14 at 06:32