shell 用正则表达式分析json格式的文件解决思路

shell 用正则表达式分析json格式的文件
[
    {
        "downPath": "http://d.zhidian3g.cn/yimi-cloudbox/apk/com.monster.game96_V1.0.0_20140430173404213.apk",
        "downloads": 32442253,
        "explain": "异星掠夺者们盯上了我们美丽而富饶的地球,他们派出了疯狂的邪恶战机对地球进行日夜攻击",
        "iconPath": "http://d.zhidian3g.cn/yimi-cloudbox/app/icon/2014081814472831090.png",
        "id": 308372,
        "name": "雷霆战机3豪华版",
        "packageName": "com.monster.game96",
        "score": 8,
        "size": 6441,
        "source": 3,
        "type": 2,
        "version": "1.0.0"
    },
    {
        "downPath": "http://d.zhidian3g.cn/yimi-cloudbox/apk/net.lazyer.fkct.sky_V1.10_20140422154657541.apk",
        "downloads": 202292,
        "explain": "再不来猜,我们就老了!猜你妹全新玩法上线,挑战你的360度知识库",
        "iconPath": "http://d.zhidian3g.cn/yimi-cloudbox/app/icon/2014081915200964347.png",
        "id": 246500,
        "name": "猜你妹",
        "packageName": "net.lazyer.fkct.sky",
        "score": 10,
        "size": 3321,
        "source": 3,
        "type": 2,
        "version": "1.10"
    }
]
这样格式的存在一个名为1.txt,我现在要做的是有shell脚本实现的功能是:把里面的内容读取出来然后拿到里面的downpath和iconpath的下载地址并下载,有没有像面向对象编程的吧{}里的内容用一个对象保存,并把这些对象加进列表里,就能很快的访问对象的成员变量,把下载好的存到另一个文件,之后把下载成功的文件保存在2.txt文件格式为http://d.zhidian3g.cn/yimi-cloudbox/apk/net.lazyer.fkct.sky_V1.10_20140422154657541.apk:猜你妹

------解决方案--------------------
这个应该不难吧,不用正则也可以

用grep查找关键字downPath所在行
用awk分割字符串,获取下载路径
用wget 下载
------解决方案--------------------
下载很简单:
awk -F'[",]' '/downPath
------解决方案--------------------
iconPath/{system("wget "$4)}' 1.txt

把下载的存进一个文件?描述错了吧。是把下载的文件url及名称保存成2.txt吧?
awk -F'[",]' '/downPath/{printf $4":"}/name/{print $4}' 1.txt 
------解决方案--------------------
tee 2.txt