排坑:运维常用正则表达式

一、awk提取双引号之间的字符串方法:
如文本:Speed="1000"

echo 'Speed="1000"' | awk -F '"' '{print $2}'

也可以用sed:

echo 'Speed="1000"' | sed -e 's/."([0-9]+)"./\1/'

二、shell使用正则提取括号里边的数据:
举个例子:

su - mqm -c 'echo "dis qmstatus conns" | runmqsc MQXXX999' | grep QMNAME
QMNAME(MQXXX999) STATUS(RUNNING)
我们要只提取MQXXX999怎么做呢?
su - mqm -c 'echo "dis qmstatus conns" | runmqsc MQXXX999' | grep QMNAME | sed "s/.QMNAME(([0-9a-zA-Z])).*/\1/g"
MQXXX999

三、提取逗号、冒号等符号的后边或前边数值的方法:
举个例子:
/bin/echo "db.serverStatus()" |/data/software/zabbix工具/mongodb-linux-x86_64-ubuntu1604-3.6.7/bin/mongo 192.168.1.100:29017/chenchen -ulichao -pchenchen | grep '"getmore"'
输出结果为:
排坑:运维常用正则表达式
我们想提取出来数值2怎么提取呢?
在后边加一个awk -F "[ ,]" '{print $3}'就可以了。如果想以冒号分割awk -F "[ :]" '{print $2}' 。好了就到这了这个后续会更新。

猜你喜欢

转载自blog.51cto.com/13120271/2298277