[英]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.