Linux Shell截取字符窜教程

2016年08月15日

原创内容,转载请注明出处: http://www.myzhenai.com.cn/post/2254.html http://www.myzhenai.com/thread-17908-1-1.html
关键词: Linux截取字符窜 shell截取字符窜 grep截取字符窜 awk截取字符窜
这个教程是hostloc社区上的一个网友提的问题,他的原意是要通过 curl http://pv.sohu.com/cityjson 来获得一些关键的信息,比如ip和国家代码以及所处国家.
其实这个shell的思路很简单,先将curl获得的内容用sed把所有双引号和空格全部过滤掉,然后用awk来搜索相关关键字获得需要的内容.如果是多行的话,还城要再增加一个grep -v 行里的关键字.

# !/bin/bash
var=`curl http://pv.sohu.com/cityjson|sed 's/"//g'|sed -e 's/[ ][ ]*//g'`
cip=`echo $var|awk -F "," '{print $1}'|awk -F "cip:" '{print $2}'`
cid=`echo $var|awk -F ",cname" '{print $1}'|awk -F "cid:" '{print $2}'`
cnme=`echo $var|awk -F "};" '{print $1}'|awk -F "cname:" '{print $2}'`
echo $cip
echo $cid
echo $cnme

如果var变量里返回的数据是多行的话, 还需要在下面的代码上分别增加上grep -v 行里关键字. 例如以下

# !/bin/bash
var=`curl http://pv.sohu.com/cityjson|sed 's/"//g'|sed -e 's/[ ][ ]*//g'`
cip=`echo $var|grep -v cip:|awk -F "," '{print $1}'|awk -F "cip:" '{print $2}'`
cid=`echo $var|grep -v cid|awk -F ",cname" '{print $1}'|awk -F "cid:" '{print $2}'`
cnme=`echo $var|grep -v cname|awk -F "};" '{print $1}'|awk -F "cname:" '{print $2}'`
echo $cip
echo $cid
echo $cnme
Linux Shell截取字符窜教程

Linux Shell截取字符窜教程


sicnature ---------------------------------------------------------------------
Your current IP address is: 54.198.158.24
Your IP address location: 美国
Your IP address country and region: 美国 美国
Your current browser is:
Your current system is:
Original content, please indicate the source:
同福客栈论坛 | 海南仙岛海南乡情论坛 | JiaYu Blog
sicnature ---------------------------------------------------------------------
Welcome to reprint. Please indicate the source http://www.myzhenai.com.cn/post/2254.html

没有评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注