【问题标题】:how to parse a number from sql output如何从sql输出中解析一个数字
【发布时间】:2011-09-20 05:28:55
【问题描述】:

您好,我需要从 sql 输出中解析一个数字:

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

6 rows selected.

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

【问题讨论】:

  • 更具体 - 你想要什么输出?
  • 真的可以做更多的细节。您需要仅在 SQL 中执行此操作吗?如果是这种情况,我认为您必须使用 SSIS 包来创建文件。您是否将这些值读入应用程序?如果是,是什么类型的应用程序?什么编程语言?
  • 什么语言应该负责创建空文件?它是 bash shell 脚本吗?

标签: sql parsing awk


【解决方案1】:

问题很不清楚,所以我会做一些假设。您将从 sql 获得上述输出到文件或标准输出,并且您想测试包含数字的第一行是否小于 10。正确吗?

这是一种方法。

sed -n '3p' log | awk '{ print ($1 < 10) ? "true" : "false" }'
  • sed 用于打印示例中的第三行
  • 然后将其通过管道传输到 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-14
    • 1970-01-01
    • 2011-04-22
    相关资源
    最近更新 更多