我想制作一个shell脚本,它将读取行数(如下所示),并只打印“每秒查询数”字符串。Shell脚本获取值
主题:问题1:2459965658个查询速度慢:400打开:103532个FLUSH TABLES:165个打开表:每秒平均64个查询:726.243
我怎样才能实现这个使用shell脚本?
我想制作一个shell脚本,它将读取行数(如下所示),并只打印“每秒查询数”字符串。Shell脚本获取值
主题:问题1:2459965658个查询速度慢:400打开:103532个FLUSH TABLES:165个打开表:每秒平均64个查询:726.243
我怎样才能实现这个使用shell脚本?
sed
是作业的传统工具像这样
sed -e 's/.* Queries/Queries/' your_file
庆典的最新版本,但是,支持正则表达式本身。
while read -r line ; do
[[ $line =~ avg:\ .* ]] && echo Queries per second ${BASH_REMATCH[*]}
done < your_file
sed的
sed -r 's/^.*(Queries.*)$/\1/'
庆典
#!/bin/bash
while read -r line; do
echo "Queries${line##*Queries}"
done
... | grep -o 'Queries per second avg: [0-9.]\+'
谢谢大家的回答。我已经尝试了所有上述解决方案,并发现此解决方案适用于我的问题。我的解决方案现在是“mysql -uroot -pPASSWORD -Bse'\ s'| grep -o'每秒查询平均值:[0-9。] \ +'' – user1045574
你想一个只bash的解决方案或者标准工具好吗? – Sorpigal
到目前为止你有尝试过什么吗?如果你展示你所做的努力,它真的会激励回答者。 – thiton