从 Mirc 日志中 Grep ip 和主机名

Grep ip's and hostnames from a Mirc log

我需要过滤掉所有加入我的服务器的主机名/IP。

我有一个日志文件,但我不知道我可以使用什么正则表达式,我已经尝试在这里搜索了。

也许你能帮帮我?

日志:

03[22:56] * Jason (~Jason@33-33-33-33.rev.sfr.net) has joined #talk
03[22:56] * NotJason (~NotJason@12.34.22.22) has joined #talk

也许你应该试试这个:

(?<=@).+?(?=\))

. 匹配任何字符

+ 一次或多次

? 使其不贪心,即搜索将在第一次出现时停止

?= 正面前瞻(寻找 ) 并停止)

更新:

使用 grep 会像这样

grep -o -P  '(?<=@)(.+?)(?=\))' logfile > file2

?<=正向后看(找@后面)。

-o 将只打印匹配的部分。

-P perl-regexp(PATTERN 是一个 Perl 正则表达式)

你们允许在昵称中使用括号吗? 如果没有,你可以试试

$ cat logfile | grep -o \(.*\) | tr -d '()'

如果是,您需要告诉我们更多有关昵称和聊天室名称的信息。否则,此处提供的所有正则表达式可能会遗漏一些昵称或房间名称包含空格或 ( ) 的情况。