`

shell脚本中curl带参数及awk的命令替换

阅读更多

shell脚本中curl带参数的命令替换,双引号不需要转义,像写json一样写字符串,curl命令使用单引号引起来,执行时使用$()而不是反引号``,awk也是同样,使用单引号把命令引起来,双引号不需要转义,像写json一样直接写出来;

 

以下是具体的代码:

#!/bin/bash
cd `dirname $0`

CUR_DIR=`pwd`

UID_FILE=$CUR_DIR/uid.txt
if [ ! -e $UID_FILE ]; then
    echo "ERROR:uid.txt not found"
    exit 1
fi


PHONE_PRE='curl -X POST -d q={"uid":"'
PHONE_SUF='"}  http://192.168.238.11:8080/user/getUserinfoByUid'

NAME_PRE='curl -X POST -d driverId='
NAME_SUF='&productId=2148131421781&caller=am0131777124&mode={"needDriverBiz":1,"needDriverBasic":1}&fields=[name,photo_url] http://192.168.156.121:8080/driver/getDriver'


for  line  in  `cat $UID_FILE`
do
  #statements
  echo "uid:$line"
  PHONE_COMMAND="${PHONE_PRE}${line}${PHONE_SUF}"
  echo "PHONE_COMMAND:$PHONE_COMMAND"
  PHONE_RES=$($PHONE_COMMAND)
  echo "PHONE_RES:$PHONE_RES"
  PHONE=`echo $PHONE_RES | awk '/cell/{a=index($0,"cell");if(a>1){c=substr($0,a+6,13);print c;}}'`

  NAME_COMMAND="${NAME_PRE}${line}${NAME_SUF}"
  echo "NAME_COMMAND:$NAME_COMMAND"
  NAME_RES=$($NAME_COMMAND)
  echo "NAME_RES:$NAME_RES"
  NAME_D=`echo $NAME_RES | awk '/driver_name/{a=index($0,"driver_name");if(a>5){c=substr($0,a+13,23);print c;}}'`

  echo $line $PHONE $NAME_D >> uid_phone_name.txt
done

 

分享到:
评论

相关推荐

    Shell脚本监控网站页面正常打开情况

    现在单位为了省钱,我用了shell脚本,简单的写了一个监控。通过curl一个固定页面的200状态码,如果是200,就说网站是正常的,如果不是200就自动重启网站,然后发邮件到QQ邮箱。自己在上QQ的同时,通过微信也可以收到...

    自动重启服务的shell脚本代码

    /tmp/down_count fi curl -I tomcat-host -o “/tmp/status” >/dev/null 2>&1 code=`awk ‘NR==1 {print $2}’ /tmp/status` if [ “$[code]” -ge 500 ];then down=`expr $(cat /tmp/down_count) + 1` ...

    shell脚本定时统计Nginx下access.log的PV并发送给API保存到数据库

    1,统计PV和IP 统计当天的PV(Page View) ...cat access.log.1 |cut -d ' ' -f 1 | sort |uniq -c | sort -nr | awk '{print $0 }' | head -n 10 查看日志中访问次数超过1000次的前10个IP cat access.log.

    一个shell的查词脚本

    curl -s 'http://dict.youdao.com/search?q='$1'' | awk 'BEGIN{j=0;i=0;} {if(/phrsListTab/){i++;} if(i==1){print $0; if(/<\/ul>/){i=0;}} if(/collinsToggle/){ j++;} if(j==1) {print $0; if(/<\/ul>/){j=0;}}...

    域名批量归属查询

    再添加一个shell脚本,执行shell脚本就可以了。代码如下: awk '{print "curl http://www.ip.cn/index.php?ip="$1}' ip1.txt>ip.txt python belongip.py>iprr.txt awk '/IP/{print RT$0}' iprr.txt>last1.txt

    ssh-commands

    在跳入下面的Shell脚本之前,您必须练习一些命令以更好地理解和熟悉Linux命令行界面。 如果您不学习以下命令,也可以,但是我个人建议您首先学习命令。 别名和unalias,arch,arp,at,awk,bc,blkid,cal,cat,...

    IliasDownload:下载ILIAS的脚本

    先决条件您需要具有Perl regex支持或awk的有效的最新bash,curl和grep。 如果您在Windows上,则可能需要尝试 。设置下载IliasDownload.sh和IliasDownloadInit.sh或通过git克隆到目录中。 在编辑器中打开...

    Shortcuts:命令行快捷方式

    shell脚本的各种命令(一个)内衬和一些有用的成分的集合。 有些可能是 heh的完美示例,但这意味着我在某些项目中使用了它们,因此..主要是从interwebz收集的。 如果我没有忘记消息来源,将予以感谢。 将大文件推送...

    conan-dl:请参阅自述文件。

    这取决于: BASH shell或与ZSH GNU完全兼容的东西或与之兼容的coreutils(诸如cat,echo,grep,sed,awk等东西)cURL,它可能包含在您的操作系统中或很容易获得另外,出于明显的原因,用户必须在放置情节的目录上...

    tuxi:Tuxi是cli的助手。 立即获得您问题的答案

    该脚本使用pup抓取Google搜索结果和SERP。 如果查询返回多个结果,Tuxi将根据优先级选择最相关的结果。 除抓取外, tuxi还使用jq , awk和sed处理并返回结果,并recode为unescape html。 另外,请查看BugsWriter的...

    textbar:我与 TextBar 一起使用的脚本的集中式存储库 (http

    文本栏我与使用的脚本的集中。 (查看。)textbar-diskspace.sh 显示可用磁盘空间: /bin/df -H '/' \| /usr/bin/awk -F' ' '/ [0-9]/{print $4}'textbar-ip.sh 如果找到,则显示公共 IP。 IP=`curl -sfL '...

    youtrack-to-slack:你通过 webhook 将 RSS 提要传送到 Slack

    请注意:此脚本非常笨拙,但在 Mac OSX 10.10、Linux 和 Youtrack 6.0 下运行良好youtrack-to-slack.sh 在 OSX 或 Linux 上不需要特殊程序,只需要curl 、 awk 、 sed 、 tr 、 sqlite3 、 xmllint和perl用于 html ...

Global site tag (gtag.js) - Google Analytics