1. 程式人生 > >排坑:運維常用正則表達式

排坑:運維常用正則表達式

blog img .com ODB status ext mon shell使用 更新

一、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}‘ 。好了就到這了這個後續會更新。

排坑:運維常用正則表達式