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