我必须为3个不同的字符串grep一个非常大的文本文件(〜15GB)。重要的是要注意的是三个字符串表示X,Y和Z占文本文件的大约99.9%,并且是相互排斥的。grep和grep -v同时
即X + Y + Z + 0.01%=垃圾完整的文件
那么,有没有办法,我可以做的grep的时间缩短,同时用grep -v功能 因此逻辑的流程应该是:
grep X filename.txt >> linescontainingstringX.
somehow do grep Y and grep Z on the remaining file ie grep Y >> linesnotcontainingstringX
请让我知道,如果有一种方法适合我。
我认为你应该使用Perl打开文件并编写相同的代码来实现你的逻辑。 – Raghuram 2011-05-06 05:34:02
@Raghuram - 我想你还没有听说过egrep ... – 2011-05-06 05:42:36
@Brian,我想你没有注意到他正在尝试创建**两个**输出文件:一个带有X行和一个与Y | Z线。你不能用'egrep'完成一次,但你可以用Perl(可能是'awk')。 – cjm 2011-05-06 05:55:39