Regex 使用grep匹配并删除大量文本中的图案
我有一个非常大的文本文件,其中包含类似以下内容的数据:Regex 使用grep匹配并删除大量文本中的图案,regex,grep,Regex,Grep,我有一个非常大的文本文件,其中包含类似以下内容的数据: 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})?\
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
我想使用(linux)终端命令grep来匹配并删除以以下内容开头的所有行:
=======>找到匹配项:
并以换行符结尾
因此,根据前面的示例,我希望运行grep并获得以下输出
但是/CC as/IN 1/Z church/NP historian/NN/Fc
as/IN 1/Z”/Fe断裂/NN和/CC新的/JJ开始/NN世纪/NN。/Fp
提前感谢您的帮助
grep -E -v '^======>match found:.+$' file.txt
-E
打开扩展正则表达式,而-v
对输出求反,即打印所有不匹配的行。Sed是您的朋友
sed -i '/^======>match found:/d' largefilename.txt
将删除所有出现的以找到的匹配项开始的行。===>
注意,
-i
开关意味着largefilename.txt
将被修改而不是打印到标准输出,这应该比使用grep更有效。grep-i“^=====>找到的匹配:[.]\\n“/mybigfile.txt请返回并编辑您的问题,向我们展示您尝试了什么,然后解释什么不起作用,以及它到底是如何不起作用的。我不是正则表达式专家,我无法找到与我需要的模式完全匹配的正则表达式,因此输出总是与输入文件类似,这就是为什么我没有发布示例的原因。