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