Linux Shell截取字符窜教程

2016年08月15日

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

# !/bin/bash
var=`curl https://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 https://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 ---------------------------------------------------------------------
I P 地 址: 3.145.59.89
区 域 位 置: 美国
系 统 信 息: 美国
Original content, please indicate the source:
同福客栈论坛 | 蟒蛇科普海南乡情论坛 | JiaYu Blog
sicnature ---------------------------------------------------------------------
Welcome to reprint. Please indicate the source https://myzhenai.com.cn/post/2254.html

没有评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注