【发布时间】:2020-01-19 16:48:50
【问题描述】:
嘿嘿
我正在学习 sed 和 regex 和分组以及如何将数据与文件隔离开来。
好的,我在那里写了一个 sed 命令给我,auth.log 中的所有 IP 并将 ips 写入 logips.log 文件中,所以我需要对正则表达式进行分组并采用第二个(ip)组。
sed 's/(.*)([0-9]{1,3}[.][0-9]{1,3}[.][0-9]{1,3}[.][0-9]{1,3})(.*)/\/2/g' /var/log/auth.log > logips.log
但我每次都将整个 auth.log 放在我的 logips.log 中。经过2个小时的思考和寻找,我在这里问。
我希望有人能把我推向正确的方向来解决这个问题。
祝你好运
【问题讨论】:
-
请发布一些具有预期输出的示例数据。
-
嗯,我期望的只是 auth.log 中的 IP 地址,我得到的是 logips.log 中 auth.log 的副本。
-
是的,发布一个示例,其中包含您的
auth.log中的几行代码,然后发布一个您希望结果看起来如何的示例 -
好的,在 auth.log 中是:
Sep 18 14:06:28 tartaros sshd[2042]: Received disconnect from 85.7.143.X port 4444:11: disconnected by user Sep 18 14:06:28 tartaros sshd[2042]: Disconnected from user hades 85.7.143.X port 4444 Sep 18 14:06:28 tartaros sshd[1935]: pam_unix(sshd:session): session closed for user hades而在 logips.log 中我只希望:85.7.143.X -
问题应该是独立的,不需要阅读 cmets 来理解问题。请将您的示例数据移动到 Q 的正文中并删除您的 cmets。祝你好运。