构建bash脚本以重新启动netstat命令的结果

时间:2015-11-09 23:36:05

标签: regex bash sed

我需要做一个非常独特的功能。我必须运行' netstat -m'将返回值的命令。第一行将包含以下内容:

95777/3083/598860 mbufs in use (current/cache/total)

所以我可以这样做:netstat -m | grep "mbufs in use"

对我来说,困难的部分是我需要提取第三个数字(在这种情况下,598860)。如果此数字超过800000,那么我需要发出reboot命令。我不能很好地理解正则表达式,以便从第二个' /'中提取。进入空间'获得该数字,然后将其与800000进行比较,看它是否更大。

感谢您的协助!

2 个答案:

答案 0 :(得分:1)

作为评论中给出答案的替代方案,我建议使用命令,如下所示;

netstat -m | grep "mbufs in use"|cut -f1 -d' '|cut -f3 -d'/'

这将从OP提到的结果的第一个字段中提取第三个值。

输出

$ netstat -m | grep "mbufs in use"|cut -f1 -d' '|cut -f3 -d'/'

598860

答案 1 :(得分:0)

awk方法

Servidor: Localhost via UNIX socket
Tipo de servidor: MariaDB
Versión del servidor: 10.0.17-MariaDB - Source distribution
Versión del protocolo: 10
Usuario: root@localhost
Conjunto de caracteres del servidor: UTF-8 Unicode (utf8)
相关问题