2011-06-22 33 views
0

嗨了一些我需要从SQL输出解析数:如何解析从SQL输出

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

6 rows selected. 

如果最前一页线不到10我想创建一个空文件, 问题是我不知道如何解析它,数字仍然在变化(从0到10 000)。

+1

更具体 - 你到底要输出什么? – Bohemian

+0

真的可以做更多的细节。你需要在SQL中做这个吗?我认为你必须使用SSIS包,如果这样的话创建文件。你是否将这些值读入应用程序?如果是这样的应用程序类型?什么编程语言? –

+0

什么语言应该负责创建空文件?它是一个bash shell脚本吗? – davogotland

回答

2

问题很不清楚,所以我会做一些假设。你会从sql得到上面的输出到文件或stdout,你想测试第一行包含数字是否小于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