免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2384 | 回复: 9
打印 上一主题 下一主题

利用shell 分析SQL查出的结果 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-05-11 16:43 |只看该作者 |倒序浏览
各位高手
我现在遇到这样一个问题:
以下是文本
SQL> SQL>   2  
INCREASE_SIZE/1024
------------------
          46.09375

SQL> SQL> SQL> SQL>   2    3    4  
SUM(INCREASE_SIZE)/1024
-----------------------
             2.21191406
我想写一个脚本,读取这个文件中的内容,并将46.09375存给变量increase_size,将2.21191406存给变量sum,请问如何写这个

目前我只知道用while去grep increase_size这样的关键字,但是拿到关键字的行后,如何取它的下一行的数字呢?

论坛徽章:
0
2 [报告]
发表于 2011-05-11 16:48 |只看该作者
grep -A 2 increase_size|egrep -v "----|increase"

论坛徽章:
0
3 [报告]
发表于 2011-05-11 16:56 |只看该作者
回复 2# dzhxc


RPTDB1#[/tmp]grep -A
grep: illegal option -- A
usage: grep [-E|-F] [-c|-l|-q] [-bhinsvwx] -e pattern_list...
        [-f pattern_file...] [file...]
usage: grep [-E|-F] [-c|-l|-q] [-bhinsvwx] [-e pattern_list...]
        -f pattern_file... [file...]
usage: grep [-E|-F] [-c|-l|-q] [-bhinsvwx] pattern [file...]
RPTDB1#[/tmp]

我的机器是hp-unix的,我用man看了一下,没有-A这个参数,怎么办?

论坛徽章:
0
4 [报告]
发表于 2011-05-11 17:14 |只看该作者
sed  -n '/^INCREASE/{N;N;p}'|grep  -v INCREASE|grep -v "\-\-\-"
那这样吧,
也可以用sed直接处理,不如这样直观,嘿嘿
另外,没有用过hp-unix,估计egrep或者grep -E也不支持吧?

论坛徽章:
0
5 [报告]
发表于 2011-05-11 20:42 |只看该作者
回复 1# lxyforce

cat sql.sh

SQL> SQL>   2
INCREASE_SIZE/1024
------------------
          46.09375

SQL> SQL> SQL> SQL>   2    3    4
SUM(INCREASE_SIZE)/1024
-----------------------
  2.21191406


    可以这样取出来
awk '/----/{getline;print}' sql.sh
然后再赋给变量:

论坛徽章:
0
6 [报告]
发表于 2011-05-11 21:21 |只看该作者
楼上回答不错,直接grep过滤也可以。

论坛徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年纪念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役纪念章
日期:2022-04-24 14:33:24
7 [报告]
发表于 2011-05-13 02:57 |只看该作者
回复 4# dzhxc


HP-UX表示鸭梨很大
$ sed  -n '/^INCREASE/{N;N;p}' urfile|grep  -v INCREASE|grep -v "\-\-\-"
sed: Function /^INCREASE/{N;N;p} cannot be parsed.
$ uname
HP-UX

论坛徽章:
0
8 [报告]
发表于 2011-05-13 09:35 |只看该作者
回复 7# Shell_HAT


    哎,看来没有用过的东西,果然不能想当然……

论坛徽章:
0
9 [报告]
发表于 2011-05-13 09:40 |只看该作者
sed  -n '/^INCREASE/{N;N;p}'|grep  -v INCREASE|grep -v "\-\-\-"
那这样吧,
也可以用sed直接处理,不 ...
dzhxc 发表于 2011-05-11 17:14



    sed  -n '/^INCREASE/{n;n;p}'

论坛徽章:
0
10 [报告]
发表于 2011-05-13 10:09 |只看该作者
回复 9# 南极雨


    啊,哈哈,糊涂了。谢谢指正!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP