我需要以这种方式浏览 tcpdump 文件,这些文件的 IP 地址后跟它们的源或目标端口:192.168.1.0.80
到这个:192.168.1.0 80
。
如何使用 awk、sed 或 grep 执行此操作?
与sed
:
tcpdump -v -n |
sed -r 's@([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})\.([0-9]{1,5})@\1 \2@g'
-r
switch 代表扩展的正则表达式(我用它来避免括号反斜杠)s@@@
是一个替代骨架,分隔符可以是我们想要的任何东西,而不仅仅是s///
. s/之前/之后/(
分组并捕获到 \1(到 \N)[0-9]{1,3}
任何字符:'0' 到 '9'(1 到 3 次(尽可能匹配))\.
一个字面的“。”)
捕获结束\1
并且\2
是被捕获的东西g
修饰符代表所有出现