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

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章