字符串: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之间的空格是用转义的。
每个括号代表一个变量。