使用sed获取字符串中指定的内容


字符串: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之间的空格是用\转义的。

 

每个括号代表一个变量。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM