如何从sql输出中解析一个数字

时间:2011-06-22 09:24:10

标签: sql parsing awk

您好我需要解析sql输出中的数字:

  COUNT(*)
----------
       924
       140
       173
       583
       940
        77

6 rows selected.

如果fisrt行小于10我想创建一个空文件, 问题是我不知道如何解析它,数字仍然在变化(从0到大约10 000)。

1 个答案:

答案 0 :(得分:2)

问题非常清楚,所以我会做一些假设。您将从sql获取上面的输出到file或stdout,并且您想测试包含数字的第一行是否小于10.正确吗?

这是一种方式。

sed -n '3p' log | awk '{ print ($1 < 10) ? "true" : "false" }'
  • sed用于打印示例中的第3行
  • 然后通过管道输入awk进行比较。

...或将其放在bash中

#!/bin/bash

while read variable;
do
    if [[ "$variable" =~ ^[0-9]+$ ]]
        then
        break
    fi
done < input

if [ "$variable" -lt 10 ]
    then
    echo 'less than 10'
    # add your code here, eg
    # touch /path/to/file/to/be/created
fi