【问题标题】:Parse the output of a mysql command into a variable in a bash script [duplicate]将mysql命令的输出解析为bash脚本中的变量[重复]
【发布时间】:2023-04-03 16:02:01
【问题描述】:

我正在尝试使用 bash 脚本清理数据库,我需要使用 users 表中最大的 ID 号,所以我的脚本中有这一行

MAXID=$(mysql -u root -proot elis27 -e "select max(idnumber) from mdl_user;")
echo $MAXID

我的脚本中该行的输出是

max(idnumber) 3

如何解析 mysql 命令的输出,使 MAXID 为 3?

【问题讨论】:

    标签: mysql bash


    【解决方案1】:

    使用--skip-column-names(或简称-N)选项在输出中省略列名标题:

    MAXID=$(mysql -u root -proot -N elis27 -e "select max(idnumber) from mdl_user;")
    

    【讨论】:

    • 嘎。击败我 18 秒 (+1)。
    【解决方案2】:

    我会让你把 awk 语句放在 maxid 声明中,这是得到 3 的简单逻辑 -

    a="max(idnumber) 3"
    b=`echo $a | awk '{print $2}'`;echo $b
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-06-12
      • 1970-01-01
      • 2012-04-03
      • 1970-01-01
      • 1970-01-01
      • 2015-11-08
      • 2021-12-03
      • 1970-01-01
      相关资源
      最近更新 更多