--- 10.1.1.36 ping statistics --- 3 packets transmitted, 0 received, +3 errors, 100% packet loss, time 2039ms pipe 3 提取ip和丢包数
时间: 2024-03-02 20:49:32 浏览: 186
可以使用 `grep` 命令和正则表达式来提取 IP 地址和丢包数。例如,假设这行输出保存在 `ping.log` 文件中,可以使用以下命令提取 IP 地址和丢包数:
```
grep -oE '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+' ping.log | tail -n 1 && grep -oE '[0-9]+% packet loss' ping.log | awk '{print $1}'
```
解释一下:
- `grep -oE '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+' ping.log` 用于提取 `ping.log` 文件中的 IP 地址,其中 `-o` 表示只输出匹配到的部分,`-E` 表示使用正则表达式进行匹配,`'[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+'` 表示匹配四段数字组成的 IP 地址。
- `tail -n 1` 用于获取最后一行匹配到的 IP 地址。
- `grep -oE '[0-9]+% packet loss' ping.log` 用于提取 `ping.log` 文件中的丢包率,其中 `'[0-9]+% packet loss'` 表示匹配数字和 `% packet loss` 字符串。
- `awk '{print $1}'` 用于只输出匹配到的数字部分。
注意:如果 `ping.log` 文件中有多个 IP 地址的 ping 统计信息,上述命令将只提取最后一个 IP 地址的信息。如果需要提取所有 IP 地址的信息,可以使用 `grep` 命令的 `-A` 或 `-B` 选项来输出匹配行的前几行或后几行。
阅读全文