您的位置:首页 > 运维架构 > Shell

学了学shell,钻个牛角尖,根据接口文档生成配置数组...awk sed xargs

2012-01-10 20:07 375 查看
首先用vim拿到需要的行 写入a.txt

然后看到a.txt内容如下...

316 |           |                | 0=其它                                                              |      |
317 |           |                | 1=国画                                                              |      |
318 |           |                | 2=书法                                                              |      |
319 |           |                | 3=油画                                                              |      |
320 |           |                | 4=雕塑                                                              |      |
321 |           |                | 5=版画                                                              |      |
322 |           |                | 6=水粉水彩                                                          |      |
323 |           |                | 7=设计                                                              |      |
324 |           |                | 8=摄影                                                              |      |
325 |           |                | 10=收藏                                                             |      |
326 |           |                | 11=当代艺术                                                         |      |
327 |           |                | 12=漫画家                                                           |      |
328 |           |                | 13=工艺美术家                                                       |      |
329 |           |                | 14=连环画                                                           |      |
330 |           |                | 15=评论家                                                           |      |
331 |           |                | 18=当代陶艺                                                         |      |
332 |           |                | 19=壁画                                                             |      |
333 |           |                |                                                                     |      |
334 |           |                | 当为所属地域时:                                                    |      |
335 |           |                | 1=华东                                                              |      |
336 |           |                | 2=华南                                                              |      |
337 |           |                | 3=华北                                                              |      |
338 |           |                | 4=华中                                                              |      |
339 |           |                | 5=西北                                                              |      |
340 |           |                | 6=西南                                                              |      |
341 |           |                | 7=东北                                                              |      |
342 |           |                |                                                                     |      |
343 |           |                | 当为年龄区间时:                                                    |      |
344 |           |                | 1=40岁以下                                                          |      |
345 |           |                | 2=40岁-60岁                                                         |      |
346 |           |                | 3=60岁以上                                                          |      |


取到对应的行 把= 替换成=> 然后给后面加单引号就行了 用到awk sed xargs 巩固一下

cat a.txt | awk '{print $5}' | grep -v '|' | grep -v ':' | sed "s/=/=>\\\'/" | xargs -i echo {}"',"


第一步取到第五列,然后过滤没用的行, awk '{print $5}' | grep -v xxxx

第二步替换完成用sed "s/=/=>'/"即刻

第三部用xargs则输入需要对'做转义,那么需要前面替换再加个\ 变成\'作为xargs的输入 ,由于在""里面,则需要再加一层转义

所以第二步替换变成 sed "s/=/=>\\\'/" 再放到xargs里面

然后xargs -i echo {}"',"

就拿到了想要的格式

0=>'其它',
1=>'国画',
2=>'书法',
3=>'油画',
4=>'雕塑',
5=>'版画',
6=>'水粉水彩',
7=>'设计',
8=>'摄影',
10=>'收藏',
11=>'当代艺术',
12=>'漫画家',
13=>'工艺美术家',
14=>'连环画',
15=>'评论家',
18=>'当代陶艺',
19=>'壁画',
1=>'华东',
2=>'华南',
3=>'华北',
4=>'华中',
5=>'西北',
6=>'西南',
7=>'东北',
1=>'40岁以下',
2=>'40岁-60岁',
3=>'60岁以上',


ps:纯属钻牛角尖...勿学
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐