免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3257 | 回复: 15
打印 上一主题 下一主题

[文本处理] 行转列,求帮助,在线等 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-07-13 17:03 |只看该作者 |倒序浏览
如:

四大名著
1 西游记 101
2 三国演义 102
22 红楼梦 103
4 水浒传 104

四大才女
10 上官婉儿 301
13 蔡文姬 503
34 李清照 730
11 班昭 333


四书五经

32 论语 303
12 孟子 555
33 大学 807
44 中庸 555
61 诗 694
74 书 701
92 礼 805
82 易 883
99 春秋 992

转换为:
A)四大名著  
1)西游记 101           2)三国演义 102      22)红楼梦 103       4)水浒传 104

B)四大才女
10)上官婉儿 301      13) 蔡文姬 503      34)李清照 730       11) 班昭 333

C)四书五经
32) 论语 303           12) 孟子 555         33) 大学 807        44) 中庸 555
61)诗 694              74) 书 701            92) 礼 805            82) 易 883
99)春秋 992





  

论坛徽章:
145
技术图书徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07子鼠
日期:2013-11-18 18:48:57白羊座
日期:2013-11-29 10:09:11狮子座
日期:2013-12-12 09:57:42白羊座
日期:2013-12-24 16:24:46辰龙
日期:2014-01-08 15:26:12技术图书徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
2 [报告]
发表于 2014-07-13 17:33 |只看该作者
回复 1# 韩云飞


$ awk -vC=65 'NF{if(/^[0-9]/){$1=$1")";printf("%-16s",$0);if(++c%4==0)print""}else{printf("%c%c) %s\n",N,C++,$0);c=0;N=10}}END{print""}' FILE
A) 四大名著
1) 西游记 101      2) 三国演义 102     22) 红楼梦 103     4) 水浒传 104      

B) 四大才女
10) 上官婉儿 301    13) 蔡文姬 503     34) 李清照 730     11) 班昭 333      

C) 四书五经
32) 论语 303      12) 孟子 555      33) 大学 807      44) 中庸 555      
61) 诗 694       74) 书 701       92) 礼 805       82) 易 883      
99) 春秋 992      
   

论坛徽章:
0
3 [报告]
发表于 2014-07-13 17:50 |只看该作者
回复 2# jason680


    thx,自己慢慢理解下  太厉害了

论坛徽章:
0
4 [报告]
发表于 2014-07-14 09:12 |只看该作者
sed '/^[a-z]/{:a;N;/\n[0-9]/{s/\n/ /};ta;D}' 1.txt | sed 's/ /\n/' | sed 's/\([0-9]\)[ ]\([a-z]\)/\1) \2/g'
用sed写了一个 但是汉字怎么匹配没搞定 把汉字用字母替换测试了下是可以的 求高手指导如何匹配汉字

论坛徽章:
0
5 [报告]
发表于 2014-07-14 09:13 |只看该作者
sed '/^[a-z]/{:a;N;/\n[0-9]/{s/\n/ /};ta;P;D}' 1.txt | sed 's/ /\n/' | sed 's/\([0-9]\)[ ]\([a-z]\)/\1) \2/g'
用sed写了一个 但是汉字怎么匹配没搞定 把汉字用字母替换测试了下是可以的 求高手指导如何匹配汉字 上一个带标清 这个禁用了:-L

论坛徽章:
6
处女座
日期:2014-04-02 16:07:17酉鸡
日期:2014-04-14 10:09:22子鼠
日期:2014-04-17 11:57:30辰龙
日期:2014-09-01 17:14:08戌狗
日期:2014-10-28 12:25:54未羊
日期:2014-11-14 11:31:58
6 [报告]
发表于 2014-07-14 14:26 |只看该作者
利用ascii值显示ABC...又涨姿势了...

论坛徽章:
0
7 [报告]
发表于 2014-07-14 14:41 |只看该作者
awk -vC=65

这个是什么意思??二楼能指导一下吗?

谢谢

论坛徽章:
780
金牛座
日期:2014-02-26 17:49:58水瓶座
日期:2014-02-26 18:10:15白羊座
日期:2014-04-15 19:29:52寅虎
日期:2014-04-17 19:43:21酉鸡
日期:2014-04-19 21:24:10子鼠
日期:2014-04-22 13:55:24卯兔
日期:2014-04-22 14:20:58亥猪
日期:2014-04-22 16:13:09狮子座
日期:2014-05-05 22:31:17摩羯座
日期:2014-05-06 10:32:53处女座
日期:2014-05-12 09:23:11子鼠
日期:2014-05-21 18:21:27
8 [报告]
发表于 2014-07-14 14:43 |只看该作者
回复 7# clfsy
传递一个参数C给awk,65是A的ascii码值。

   

论坛徽章:
5
子鼠
日期:2014-05-15 13:49:32子鼠
日期:2014-07-16 11:16:45卯兔
日期:2014-07-17 11:34:49巨蟹座
日期:2014-07-21 12:05:002015亚冠之柏太阳神
日期:2015-07-30 16:26:53
9 [报告]
发表于 2014-07-14 14:50 |只看该作者
学习了,回家再去研究研究.

论坛徽章:
9
寅虎
日期:2013-12-02 12:49:22巨蟹座
日期:2014-07-18 18:13:34卯兔
日期:2014-07-25 14:43:08子鼠
日期:2014-07-26 10:10:51酉鸡
日期:2014-07-31 15:09:562015亚冠之本尤德科
日期:2015-05-19 09:27:382015亚冠之卡尔希纳萨夫
日期:2015-06-20 10:30:212015亚冠之阿尔纳斯尔
日期:2015-07-01 20:46:062015亚冠之城南
日期:2015-07-15 21:12:00
10 [报告]
发表于 2014-07-14 14:58 |只看该作者
太完美了 mark
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP