Mysql 如何从文件中获取特定单词以及如何更新表中的单词
我有一个文件:Mysql 如何从文件中获取特定单词以及如何更新表中的单词,mysql,linux,bash,unix,Mysql,Linux,Bash,Unix,我有一个文件: $ cat dd.txt *************************** 1. row *************************** File: log-bin.00005 Position: 120614936 Binlog_Do_DB: Binlog_Ignore_DB: 我只需要上面文件中的这些值log-bin.00005520614936 现在我想更新文件,在我的从属表中定位 update db.posi
$ cat dd.txt
*************************** 1. row ***************************
File: log-bin.00005
Position: 120614936
Binlog_Do_DB:
Binlog_Ignore_DB:
我只需要上面文件中的这些值log-bin.00005520614936
现在我想更新文件,在我的从属表中定位
update db.position set binlog_file='log-bin.000055',position='120614936' where master_host='master.tb.com';
如何为其编写简单的脚本?要获取指定的数据,可以执行以下操作:
cat dd.txt | egrep "File|Position" | cut -d: -f2
要获取指定的数据,可以执行以下操作:
cat dd.txt | egrep "File|Position" | cut -d: -f2
使用GNU Grep
和:
$grep-Po”(?使用GNU grep
和:
$grep-Po”(?谢谢@@fedorqui我得到了这些“log bin.000055120614936”实际上,这些都是动态的,它在dd.txt文件中每一小时都会更改一次。现在,我如何使用这个查询更新db.position set binlog_file='log-bin.000055',position='120614936'where master_host='master.tb.com';在mysqlLet中,让我们尝试一下:$file=cat dd.txt | egrep“file | position”| cut-d:-f2
;$position=cat dd.txt | egrep“File | position”| cut-d:-f2
。然后您可以在查询中使用$File和$position:更新db.position set binlog\u File=$File,position=$position where master\u host='master.tb.com'
谢谢@@fedroqui我需要更多帮助我有这样的文件[roome@server ~]#cat文件——将MASTER更改为MASTER\u LOG\u file='mysql-bin.000025',MASTER\u LOG\u POS=107;现在我只需要文件中的mysql-bin.000025107,我该怎么办this@mithunakous,我看不清楚该文件是如何显示的。请尝试使用我之前发布的grep
,使用cut-d:
(或者在本例中使用cut-d=
),并通过使用sed“s/'//g”来摆脱“”。否则,请发布一个新问题。谢谢@fedorqui我得到了这些“log bin.000055120614936”实际上,这些都是动态的,它在dd.txt文件中每一小时都会更改一次。现在,我如何使用这个查询更新db.position set binlog_file='log-bin.000055',position='120614936'where master_host='master.tb.com';在mysqlLet中,让我们尝试一下:$file=cat dd.txt | egrep“file | position”| cut-d:-f2
;$position=cat dd.txt | egrep“File | position”| cut-d:-f2
。然后您可以在查询中使用$File和$position:更新db.position set binlog\u File=$File,position=$position where master\u host='master.tb.com'
谢谢@@fedroqui我需要更多帮助我有这样的文件[roome@server ~]#cat文件——将MASTER更改为MASTER\u LOG\u file='mysql-bin.000025',MASTER\u LOG\u POS=107;现在我只需要文件中的mysql-bin.000025107,我该怎么办this@mithunakous,我看不清楚该文件是如何显示的。请尝试使用我之前发布的grep
,使用cut-d:
(或者在本例中使用cut-d=
),并使用sed“s/'//g“
摆脱“”。否则,请发布一个新问题。谢谢@@sudo\O我还需要一个帮助我有一个这样的文件[roome@server ~]#cat文件--将MASTER更改为MASTER\u LOG\u file='mysql-bin.000025',MASTER\u LOG\u POS=107;现在我只需要文件中的mysql-bin.000025107,我如何才能这样做grep-Po”(?谢谢@@sudo\O我需要更多帮助我有这样的文件[roome@server ~]#cat文件——将MASTER更改为MASTER_LOG_file='mysql-bin.000025',MASTER_LOG_POS=107;现在我只需要文件中的mysql-bin.000025107,我怎么能这样做?