Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
251 views
in Technique[技术] by (71.8m points)

regex - Use grep to match and erase a pattern in a large chunck of text

I have a very large text file which contains data similar to the following:

     but/CC as/IN 1/Z church/NP historian/NN/Fc 
     as/IN 1/Z "/Fe rupture/NN and/CC new/JJ beginning/NN century/NN ./Fp
    ======>match found: ##[a-z]+/NN##
    ======>match found: be/V[A-Z]+(s[.]{0,10})?##
    ======>match found: ##sof/IN

I would like to use the (linux) terminal command grep to match and erase all the lines that start with:

======>match found:

and end with a newline character.

Thus, according to the previous example, I'd like to run grep and obtain the following output

but/CC as/IN 1/Z church/NP historian/NN/Fc as/IN 1/Z "/Fe rupture/NN and/CC new/JJ beginning/NN century/NN ./Fp

Thank you in advance for your help

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)
grep -E -v '^======>match found:.+$' file.txt

-E turns on extended regular expressions, and -v negates the output, i.e. prints all lines that don't match.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...