字符串:abcde --socket=/data/mysql/mysql.sock --port=3306 --datadir=/data/mysql abcde
我要獲取其中的端口
echo 'abcde --socket=/data/mysql/mysql.sock --port=3306 --datadir=/data/mysql abcde' | sed -r 's/.*--port=([0-9]{1,}).*/\1/'
其中\1代表的就是括號里的端口。
我要獲取其中的socket和端口
echo 'abcde --socket=/data/mysql/mysql.sock --port=3306 --datadir=/data/mysql abcde' | sed -r 's/.*--socket=([a-z|\/|\.]{1,}).*--port=([0-9]{1,}).*/\1\ \2/'
其中\1代表的就是socket路徑,\2代表的就是端口號。其中\1和\2之間的空格是用\轉義的。
每個括號代表一個變量。