I have a long .txt file ( LONG.txt). In this txt file I want to find 3 types of templates, and then I want to write the result of grep to a new txt file ( SHORT.txt).
Patterns:
NOTE :
When the pattern is found AAAAAor BBBBB, I want to print only the line that contains AAAAAor BBBBB.
When the pattern is found CCCCC, I want to print this line containing CCCCC+ the next line 1.
Example:
LONG.txt:
bla bla
bla bla
bla bla
something something AAAAA something something
bla bla
bla bla
something something CCCCC something something
bla bla
bla bla
bla bla
bla bla
bla bla
bla bla
something something BBBBB something something
bla bla
bla bla
bla bla
something something AAAAA something something
bla bla
something something AAAAA something something
bla bla
something something BBBBB something something
bla bla
bla bla
bla bla
something something CCCCC something something
bla bla
bla bla
bla bla
The conclusion should be:
something something AAAAA something something
something something CCCCC something something
bla bla
something something BBBBB something something
something something AAAAA something something
something something AAAAA something something
something something BBBBB something something
something something CCCCC something something
bla bla
What I tried:
grep -B0 "AAAAA" LONG.txt > SHORT.txt
grep -B0 "BBBBB" LONG.txt > SHORT.txt
grep -B1 "CCCCC" LONG.txt > SHORT.txt
But this does not give me the desired result.
source
share