Reputation: 28218
In this alpha.txt
text file:
Lorem ipsum
dolor sit amet,
consectetur adipiscing elit.
:::info lecture
Duis eget
laoreet nunc.
:::
Etiam malesuada in
velit
in
rhoncus:
:::warning lecture
Sed pretium justo eu
tortor vehicula,
tristique
:::
opcar kel
Sed pretium
justo.
I'd like to "remove" all :::* lecture
*
:::
multiline blocks.
I'd like a POSIX cmd
(using sed
for example or perl
) that a such call:
$ cat alpha.txt | cmd
exactly outputs:
Lorem ipsum
dolor sit amet,
consectetur adipiscing elit.
Etiam malesuada in
velit
in
rhoncus:
opcar kel
Sed pretium
justo.
Upvotes: 0
Views: 53
Reputation: 10913
cat alpha.txt | perl -ne 'print unless /^\s*:::\S+ lecture\s*$/ ... /^\s*:::\s*$/'
Deparsed version of perl one liner:
LINE: while (defined($_ = readline ARGV)) {
print $_ unless /^\s*:::\S+ lecture\s*$/ ... /^\s*:::\s*$/;
}
Upvotes: 1