You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将grep输出的Threads数值存入Shell变量$mysqlthread

提取MySQL线程数到Shell变量的方法

输出示例

Uptime: 2304 Threads: 14 Questions: 2652099 Slow queries: 0 Opens: 48791 Flush tables: 3 Open tables: 4000 Queries per second avg: 1151.08

实现方法

以下几种Shell命令组合均可将Threads后的数值提取并赋值给mysqlthread变量:

  • 使用awk(最直观)

    mysqlthread=$(mysqladmin proc status | grep "Threads" | awk '{print $4}')
    

    原理:awk默认以空格为分隔符拆分输出内容,Threads:是第3个字段,其后的数值14是第4个字段,直接打印该字段即可。

  • 使用sed做字符串替换

    mysqlthread=$(mysqladmin proc status | grep "Threads" | sed 's/.*Threads: //;s/ .*//')
    

    原理:第一个替换规则删除Threads: 之前的所有内容,第二个替换规则删除数值之后的所有空格及后续内容,最终保留目标数值。

  • 使用cut结合tr处理多空格

    mysqlthread=$(mysqladmin proc status | grep "Threads" | tr -s ' ' | cut -d' ' -f4)
    

    原理:先用tr -s ' '把输出中的多个连续空格压缩为单个,再用cut以空格为分隔符提取第4个字段。

验证

执行以下命令即可查看结果:

echo $mysqlthread

输出为:14

内容的提问来源于stack exchange,提问作者Renry

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 03:45:48