嘿
我正在学习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
但是我每次在logips.log中都有整个auth.log。经过两个小时的思考和寻求,我在这里问。
我希望有人可以朝正确的方向推动我解决这个问题。
快乐的问候
答案 0 :(得分:0)
要从auth.log中获取所有IP,请尝试使用grep
。
grep -o -E "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}" auth.log
-o
输出仅匹配-E
扩展正则表达式[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}
匹配IP