使用 sed
后,我得到了研究结果:
zcat file* | sed -e 's/.*text=\(.*\)status=[^/]*/\1/' | cut -f 1 - | grep "pattern"
但它只显示了我剪切的部分。如何打印匹配后的所有行?
我正在使用 zcat,所以无法使用 awk。
谢谢。
编辑:
这是我的日志文件:
[01/09/2015 00:00:47] INFO=54646486432154646 from=steve idfrom=55516654455457 to=jone idto=5552045646464 guid=100021623456461451463 n
um=6 text=hi my number is 0 811 22 1/12 status=new survstatus=new
我的目标是找到所有在我的网站上用他们的电话号码发送垃圾信息的用户(使用 grep "pattern"
),然后打印所有行以获取关于每个垃圾邮件的所有信息。问题是可能会在INFO或id中发现匹配项,所以我先使用sed
来获取文本。
zcat
的样例输出以及你期望的输出吗? - anubhavazcat
的输出只是标准文本,所以你可以毫不费力地将其管道传输到awk
。 - abalter