我们知道使用ifconfig 可以查看网卡的数据,包含收发的字节数,就是流量。如

root@fetmx6ull-s:~# ifconfig eth0
eth0      Link encap:Ethernet  HWaddr AA:CC:DD:EE:FF:DD  inet addr:192.168.0.232  Bcast:192.168.0.255  Mask:255.255.255.0inet6 addr: fe80::a8cc:ddff:feee:ffdd%2124081920/64 Scope:LinkUP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1RX packets:13392 errors:0 dropped:0 overruns:0 frame:0TX packets:11681 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000 RX bytes:1445631 (1.3 MiB)  TX bytes:1114438 (1.0 MiB)root@fetmx6ull-s:~#

我们看到,信息的最后一行包含收发数据,那么我们如何取出数据呢?

首先选出这一行数据,

root@fetmx6ull-s:~# ifconfig eth0 | grep "RX bytes"RX bytes:1445631 (1.3 MiB)  TX bytes:1114438 (1.0 MiB)

先取出接收的字节数,由于在:后面没有空格,不能使用awk来完成,当然取出“RX bytes:1445631”在慢慢分析也是可以的,这里我们使用替换模式

root@fetmx6ull-s:~# ifconfig eth0 | grep "RX bytes" | sed 's/RX bytes:// '1447837 (1.3 MiB)  TX bytes:1114438 (1.0 MiB)

这样第一个字符就是我们需要的并且后面带空格,这样就可以取出来了

root@fetmx6ull-s:~# ifconfig eth0 | grep "RX bytes" | sed 's/RX bytes:// ' | awk '{print $1}'
1447837

那么如何取出发送的,数字是不定的,没有办法从头开始替换,我们可以使用   .*  来替换所有匹配的字符。

root@fetmx6ull-s:~# ifconfig eth0 | grep "RX bytes" | sed 's/.*TX bytes://'
1114438 (1.0 MiB)

这样就将从第一个字符开始替换,一直替换道 以   “TX bytes:" 结尾,这样就剩下了发送的数据了,然后使用awk来取出来

root@fetmx6ull-s:~# ifconfig eth0 | grep "RX bytes" | sed 's/.*TX bytes://' | awk '{print $1}'
1114438

完成的脚本代码如下:

root@fetmx6ull-s:~# cat showeth0.sh
#!/bin/bashwhile :
doecho "eth0 infomation is :"echo "eth0 receive : `ifconfig eth0 | grep "RX bytes" | sed 's/RX bytes://' | awk '{print $1}'`"echo "eth0 send    : `ifconfig eth0 | grep "RX bytes" | sed 's/.*TX bytes://' | awk '{print $1}'`"sleep 5s
done

我们执行以下看看:先后台执行这个脚本,然后使用ping,看数据变化

ping 192.168.0.200
PING 192.168.0.200 (192.168.0.200): 56 data bytes
64 bytes from 192.168.0.200: seq=0 ttl=64 time=1.008 ms
eth0 infomation is :
eth0 receive : 1452780
eth0 send    : 1114536
64 bytes from 192.168.0.200: seq=1 ttl=64 time=0.934 ms
64 bytes from 192.168.0.200: seq=2 ttl=64 time=0.951 ms
64 bytes from 192.168.0.200: seq=3 ttl=64 time=0.904 ms
64 bytes from 192.168.0.200: seq=4 ttl=64 time=0.922 ms
64 bytes from 192.168.0.200: seq=5 ttl=64 time=0.984 ms
eth0 infomation is :
eth0 receive : 1453354
eth0 send    : 1115068
64 bytes from 192.168.0.200: seq=6 ttl=64 time=0.930 ms
64 bytes from 192.168.0.200: seq=7 ttl=64 time=0.957 ms
64 bytes from 192.168.0.200: seq=8 ttl=64 time=0.921 ms
64 bytes from 192.168.0.200: seq=9 ttl=64 time=0.961 ms
64 bytes from 192.168.0.200: seq=10 ttl=64 time=0.901 ms
eth0 infomation is :
eth0 receive : 1453928
eth0 send    : 1115600

这样,我们10秒打印一次当前网卡走的流量。就能够随时发现异常了,方便吧!

xshell筛选出字符串中的数字,计算网络流量相关推荐

  1. JAVA如何分割出字符串中的数字?

    对于刚入门JAVA的小白来说没有指定的API来完成这个操作,只能靠自己的想法来区别字符与整数. 在我刚入门的时候突发奇想,既然JAVA中有字符串转整数的API,那为什么不可以利用呢.于是利用转换异常想 ...

  2. 找出字符串中所有数字

    刚才网友在SKYPE问Insus.NET一个问题,在MS SQL中,怎样找出一个字符串所有数字. Insus.NET使用较简单与平常的方法,就是使用循环的方法,循环字符串中每一个字符,并插入至一个表变 ...

  3. mysql提取数字_Mysql中实现提取字符串中的数字的自定义函数分享

    因需要在mysql的数据表中某一字符串中的字段提取出数字,在网上找了一通,终于找到了一个可用的mysql函数,可以有效的从字符串中提取出数字. 该mysql提取出字符串中的数字函数如下: 复制代码 代 ...

  4. mysql getnum函数_Mysql中实现提取字符串中的数字的自定义函数分享

    因需要在MysqL的数据表中某一字符串中的字段提取出数字,在网上找了一通,终于找到了一个可用的MysqL函数,可以有效的从字符串中提取出数字. 该MysqL提取出字符串中的数字函数如下: CREATE ...

  5. 一日一技|Stata筛选出字符串中非数字的行

    前言 本期是新的专栏的第一篇,主要是想写些随笔,但是又是自己感觉一些平时比较有用的小技巧,以期有所帮助hhh下面就是开始正题 问题 首先生成一个数据并且生成它的滞后项 clear input id y ...

  6. LeetCode 28. 找出字符串中第一个匹配项的下标 -- 字符串编码成数字匹配

    找出字符串中第一个匹配项的下标 中等 1.6K 相关企业 给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标(下标从 ...

  7. python 计算一个字符串中所有数字的和

    # 计算一个字符串中所有数字的和def numsum(s):sum = 0 #定义变量,准备记录数字的和for i in range(len(s)): #遍历字符串if s[i] >= '0' ...

  8. python对excel筛选提取文本中数字_python实现将字符串中的数字提取出来然后求和...

    因工作原因,很久没有学习python知识了,感觉都快忘记了,前天看到一个练习题,如何将字符串中的数字提取出来,然后求和呢?下面我来解释一下如何通过python代码来实现. 题目:字符串43-3y2.f ...

  9. 笔试强训第三周编程题part01(年终奖,迷宫问题;微信红包,计算字符串的距离;小易的升级之路,找出字符串中第一个只出现一次的字符,洗牌)

    年终奖 OJ链接 此题是一道动态规划的问题 读题可知:只能从上往下和从左往右移动 由此需要前[i-1] [ j ]和[i][j-1]来比较大小来确实最优解. 其中有两种特殊情况,第一行和第一列 代码如 ...

最新文章

  1. vs2017数据可视化建模_介绍数据可视化社区调查2017
  2. ORB-SLAM2从理论到代码实现(八):Tracking.cc程序详解(下)
  3. deep_ocr 是使得 OCR 比 tesseract 更好的中文识别、身份证识别等等
  4. linux安装软件报错:有未能满足的依赖关系
  5. Swift--变量和常量
  6. 软件构造学习笔记-实验4
  7. hotspot 默认 gc_默认HotSpot最大直接内存大小
  8. 49. 字母异位词分组
  9. Migrate Instance 操作详解 - 每天5分钟玩转 OpenStack(40)
  10. 爱因斯坦诞辰140周年:带你走近一个真实的爱神
  11. 17pk扎金花基于层次的技术
  12. c语言做最小公倍数,C语言用两种实现最小公倍数
  13. 前端开发:模块化 — 高效重构
  14. ubuntu使用pytorch训练出现killed_目标检测之pytorch预训练模型的使用(削减削减网络层,修改参数)fine-tune技巧...
  15. KeepAlived+Nginx 模拟nginx单点故障转移,实现高可用
  16. 几款引擎比较 BigWorld Unreal CryEngine等
  17. 谷歌浏览器书签丢失,恢复工具
  18. 模电_第八章_功率放大电路
  19. 移动硬盘插入电脑后不显示盘符
  20. 4.图灵学院-----阿里/京东/滴滴/美团整理----高频MQ消息队列篇

热门文章

  1. roya mysql_MySQL安装及基础知识
  2. JavaScript函数式编程学习
  3. Spring Boot Web 开发相关总结
  4. Andraoid 状态栏透明的方法
  5. Bridge网络模式下Linux虚拟机和主机进行通信
  6. GirdView的文本属性对象省略溢出标记设置
  7. 千亿级携程酒店AWS实践
  8. 深入浅出 ZooKeeper
  9. 干掉前端!3分钟纯 Java 注解搭个管理系统,我直接好家伙
  10. 某程序员吐槽:回老家被乡镇公务员表哥怼,催他赶紧上岸!表哥月薪3800,而他年包90w!...