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,我怎么能这样做?