簡體   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