免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 7303 | 回复: 16

[文本处理] 从shell脚本返回内容提取想要的字符串数据? [复制链接]

论坛徽章:
0
发表于 2015-02-27 12:18 |显示全部楼层
本帖最后由 ppjer 于 2015-02-27 12:22 编辑

$sh test.sh
执行脚本后,返回内容:11400683000:{"status":1,"message":"failed"}
也有返回 "sucess"的行:11400683000:{"status":1,"message":"success"}

现在要实现的功能,执行脚本后过滤出返回内容包含 “success”的内容,如果是failed 的就不显示。

大概脚本内容如下,牛牛们帮忙看下啊。
  1. for x in `seq -f %1.f 11400683000 11400683999`; do
  2.     echo -n "$x: ";
  3.     uid=$(curl 'hxxp://test.baidu.com/ajax/uid.php?uid='$x );
  4. if [[ $uid="success" ]];then
  5. echo ok
  6. fi
复制代码

论坛徽章:
28
2015年迎新春徽章
日期:2015-03-04 10:16:53午马
日期:2015-03-20 17:11:07亥猪
日期:2015-03-20 17:11:23戌狗
日期:2015-03-20 17:11:33酉鸡
日期:2015-03-20 17:11:47申猴
日期:2015-03-20 17:11:58未羊
日期:2015-03-20 17:12:10子鼠
日期:2015-03-20 17:12:23丑牛
日期:2015-03-20 17:12:40卯兔
日期:2015-03-20 17:12:51辰龙
日期:2015-03-20 17:13:00巳蛇
日期:2015-03-20 17:13:12
发表于 2015-02-27 12:31 |显示全部楼层
本帖最后由 我是一隻羊 于 2015-02-27 15:22 编辑

没啥问题..结尾少个done
  1. #!/bin/bash
  2. begin_num=$1
  3. end_num=$2
  4. for num in `seq -f %1.f $begin_num $end_num`; do
  5.         msg=$(curl -s 'hxxp://test.baidu.com/ajax/uid.php?uid='$num);
  6.         [[ "$msg" =~ "success" ]] && echo "$num:$msg"
  7. done
复制代码

论坛徽章:
0
发表于 2015-02-27 14:54 |显示全部楼层
试了,不行。
我是一隻羊 发表于 2015-02-27 12:31
没啥问题..结尾少个done

论坛徽章:
28
2015年迎新春徽章
日期:2015-03-04 10:16:53午马
日期:2015-03-20 17:11:07亥猪
日期:2015-03-20 17:11:23戌狗
日期:2015-03-20 17:11:33酉鸡
日期:2015-03-20 17:11:47申猴
日期:2015-03-20 17:11:58未羊
日期:2015-03-20 17:12:10子鼠
日期:2015-03-20 17:12:23丑牛
日期:2015-03-20 17:12:40卯兔
日期:2015-03-20 17:12:51辰龙
日期:2015-03-20 17:13:00巳蛇
日期:2015-03-20 17:13:12
发表于 2015-02-27 15:18 |显示全部楼层
你怎么调用的脚本?

论坛徽章:
0
发表于 2015-02-27 15:26 |显示全部楼层
直接运行脚本啊。

论坛徽章:
22
处女座
日期:2014-10-11 13:33:292015亚冠之塔什干火车头
日期:2015-07-20 19:59:042015亚冠之塔什干火车头
日期:2015-07-26 10:59:31程序设计版块每日发帖之星
日期:2015-08-05 06:20:00每日论坛发贴之星
日期:2015-08-05 06:20:00程序设计版块每日发帖之星
日期:2015-08-07 06:20:00每日论坛发贴之星
日期:2015-08-07 06:20:002015亚冠之阿尔纳斯尔
日期:2015-10-01 15:23:28白银圣斗士
日期:2015-12-07 17:17:06操作系统版块每日发帖之星
日期:2015-12-27 06:20:002015亚冠之广州富力
日期:2015-07-08 15:48:31程序设计版块每日发帖之星
日期:2015-06-11 22:20:00
发表于 2015-02-27 15:30 |显示全部楼层
回复 1# ppjer
“=”两边要空格,“=”自身不能分割命令行。


   

论坛徽章:
0
发表于 2015-02-27 15:39 |显示全部楼层
这个知道啊,不知道为啥不行。

论坛徽章:
28
2015年迎新春徽章
日期:2015-03-04 10:16:53午马
日期:2015-03-20 17:11:07亥猪
日期:2015-03-20 17:11:23戌狗
日期:2015-03-20 17:11:33酉鸡
日期:2015-03-20 17:11:47申猴
日期:2015-03-20 17:11:58未羊
日期:2015-03-20 17:12:10子鼠
日期:2015-03-20 17:12:23丑牛
日期:2015-03-20 17:12:40卯兔
日期:2015-03-20 17:12:51辰龙
日期:2015-03-20 17:13:00巳蛇
日期:2015-03-20 17:13:12
发表于 2015-02-27 15:46 |显示全部楼层
sh my_script.sh  11400683000 11400683999

论坛徽章:
5
未羊
日期:2014-08-04 16:15:21天秤座
日期:2014-08-13 13:52:372015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:56:112015亚冠之浦和红钻
日期:2015-06-29 15:30:48
发表于 2015-02-27 16:48 |显示全部楼层
脚本里改一行
  1. for x in `seq -f %1.f 11400683000 11400683009`; do
复制代码
然后sh -x test.sh

再把结果贴上来看看就差不多明白病因在哪了

论坛徽章:
0
发表于 2015-02-27 17:20 |显示全部楼层
好的
回复 9# dn833


   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP