请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

这个如何用awk对字符串进行提取

mysql备份里面的file跟pos信息如何用awk提出出去
-- CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=154;
提取出的file=mysql-bin.000001
pos=154
如果file跟pos长度变化也能正确提取出来,请老师指教

正在回答

1回答

使用cat 1.txt | awk -F"'" '{print $2}'可以提取出来mysql-bin.000001

使用cat 1.txt | awk -F"'" '{print $3}' | awk -F"=" '{print $2}' | awk -F";" '{print $1}'可以提取出来154

https://img1.sycdn.imooc.com//szimg/615fe5b40950485016930375.jpg

0 回复 有任何疑惑可以回复我~
  • 提问者 慕无忌9599829 #1
    老师的代码比较简洁,我是取了好几次才取出来
    head -n 30 /data/test$uptime.sql | grep 'CHANGE MASTER TO' > /root/position$updtime.log
    sed -i $'s/\'//g' position$updtime.log
    sed -i $'s/\;//g' position$updtime.log
    awk 'BEGIN{FS=","} {print $1}' position$updtime.log > file$updtime.log
    awk 'BEGIN{FS=","} {print $2}' position$updtime.log > pos$updtime.log
    awk 'BEGIN{FS="="} {print $2}' file$updtime.log > file_dtsdb42.log
    file=$(awk 'BEGIN{FS="="} {print $2}' file$updtime.log)
    pos=$(awk 'BEGIN{FS="="} {print $2}' pos$updtime.log)
    还是要加强学习啊
    回复 有任何疑惑可以回复我~ 2021-10-14 00:45:52
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号