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

来源:互联网 发布:sql count 大于1 编辑:程序博客网 时间:2024/06/03 01:50



首先用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:纯属钻牛角尖...勿学

原创粉丝点击