用空格(“”)代替点(。)awk,sed或grep

时间:2013-01-27 18:15:53

标签: regex sed awk grep

我需要通过这样的方式查看具有IP地址的tcpdump文件,后跟其源或目标端口:192.168.1.0.80到这个:192.168.1.0 80

我怎样才能使用awk,sed或grep?

1 个答案:

答案 0 :(得分:2)

使用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开关代表 extented regex (我用它来避免使用括号反斜杠)
  • s@@@是替换骨架,分隔符可以是我们想要的任何内容,而不仅仅是s///。 S /前/后/
  • (分组并捕获到\ 1(到\ N)
  • [0-9]{1,3}任何字符:'0'到'9'(1到3次之间(匹配尽可能多的数量))
  • \.字面意思'。'
  • )捕获结束
  • \1\2是捕获的内容
  • g修饰符代表 all occurences
相关问题