如何从日志文件中提取所有邮件和密码?

时间:2018-11-17 22:59:15

标签: linux bash

我的日志文件具有以下所示的格式,并且我的正则表达式可以提取所有电子邮件,并且可以正常运行,但是它不会在电子邮件后的第二行显示密码。

<tr><th><span>09:52:08 a.m. </span>xxxx@gmail.com</th></tr>
<tr><th><span>09:52:17 a.m. </span>xxxx</th></tr>

如何显示?我尝试了第二个正则表达式,但失败了。有提示吗?

 m4st3rrulezs@m4st3rrulezs:~/Downloads/attachments$ ls;cat *.html |  grep --color=always -E -o "\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}\b" | sort -u
    PC-4-PC_PC-4_2018-10-25.html  PC-4-PC_PC-4_2018-10-28.html  PC-4-PC_PC-4_2018-10-31.html  PC-4-PC_PC-4_2018-11-03.html
    PC-4-PC_PC-4_2018-10-26.html  PC-4-PC_PC-4_2018-10-29.html  PC-4-PC_PC-4_2018-11-01.html  PC-4-PC_PC-4_2018-11-05.html
    PC-4-PC_PC-4_2018-10-27.html  PC-4-PC_PC-4_2018-10-30.html  PC-4-PC_PC-4_2018-11-02.html
    18zxxxxx@gmail.com

我不想一一搜寻。

1 个答案:

答案 0 :(得分:0)

您可以这样做:

SELECT
   c.custRFID
FROM
   tbl_cust c
WHERE NOT EXISTS (SELECT 1 FROM tbl_attend a
                  WHERE c.custRFID = a.RFID AND
                  MONTH(a.attendDate) = MONTH(CURDATE()) AND
                  YEAR(a.attendDate) = YEAR(CURDATE()));

它将删除所有内容,并仅保留cat *.html | sed 's/.*span>\(.*\)<\/th>.*/\1/' <span>之间的内容,在这种情况下,这就是您要提取的电子邮件和密码。