繁体   English   中英

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

[英]substituting a dot (.) with a space (“ ”) awk, sed or grep

我需要通过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开关代表扩展的正则表达式 (我使用它来避免括号反斜杠)
  • s@@@是替换骨架 ,分隔符可以是我们想要的任何东西,而不仅仅是s/// S /前/后/
  • (分组并捕​​获到\\ 1(到\\ N)
  • [0-9]{1,3}任何字符:'0'到'9'(1到3次之间(匹配尽可能多的数量))
  • \\. 文字“。”
  • )结束捕获
  • \\1\\2是捕获的东西
  • g修饰符代表所有出现的

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM