我正在尝试创建一个shell脚本,它将读取行数(如下所示)并且只打印"每秒查询平均值:VALUE"字符串。
主题:1个问题:2459965658慢查询:400打开:103532刷新表:165打开表:64每秒查询数:726.243
我如何使用shell脚本实现这一点。?
答案 0 :(得分:3)
sed
是像这样的工作的传统工具
sed -e 's/.* Queries/Queries/' your_file
然而,最新版本的bash本身支持正则表达式。
while read -r line ; do
[[ $line =~ avg:\ .* ]] && echo Queries per second ${BASH_REMATCH[*]}
done < your_file
答案 1 :(得分:1)
SED
sed -r 's/^.*(Queries.*)$/\1/'
的bash
#!/bin/bash
while read -r line; do
echo "Queries${line##*Queries}"
done
答案 2 :(得分:0)
... | grep -o 'Queries per second avg: [0-9.]\+'