本文共 4053 字,大约阅读时间需要 13 分钟。
首先用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:纯属钻牛角尖...勿学
转载地址:http://fkbxi.baihongyu.com/