免费注册 查看新帖 |

Chinaunix

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

将一列文本,按逗号分割 生成一行三列 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2017-08-31 21:25 |只看该作者 |倒序浏览
a.txt
1
2
3
4
5
6
7
8
9
a
b
c

结果文件
b.txt
1 ,2 ,3
4 ,5, 6
7 ,8, 9
a ,b, c

论坛徽章:
33
荣誉会员
日期:2011-11-23 16:44:17天秤座
日期:2014-08-26 16:18:20天秤座
日期:2014-08-29 10:12:18丑牛
日期:2014-08-29 16:06:45丑牛
日期:2014-09-03 10:28:58射手座
日期:2014-09-03 16:01:17寅虎
日期:2014-09-11 14:24:21天蝎座
日期:2014-09-17 08:33:55IT运维版块每日发帖之星
日期:2016-04-17 06:23:27操作系统版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-24 06:20:0015-16赛季CBA联赛之天津
日期:2016-05-06 12:46:59
2 [报告]
发表于 2017-09-01 02:06 |只看该作者
回复 1# 老狼01

这个很简单吧?

读一行,记个数,能被三整除就换行,不能整除就打印在同一行。

论坛徽章:
4
金牛座
日期:2013-10-11 16:12:50卯兔
日期:2014-07-31 09:17:19辰龙
日期:2014-08-08 09:28:02狮子座
日期:2014-09-14 20:32:05
3 [报告]
发表于 2017-09-02 00:13 |只看该作者
本帖最后由 ssfjhh 于 2017-09-02 00:16 编辑
  1. In [1]: s = '123456789abcdefghijklmn'

  2. In [2]: list(zip(*[iter(s)]*3))
  3. Out[2]:
  4. [('1', '2', '3'),
  5. ('4', '5', '6'),
  6. ('7', '8', '9'),
  7. ('a', 'b', 'c'),
  8. ('d', 'e', 'f'),
  9. ('g', 'h', 'i'),
  10. ('j', 'k', 'l')]

  11. In [3]: list(zip(*[iter(s)]*4))
  12. Out[3]:
  13. [('1', '2', '3', '4'),
  14. ('5', '6', '7', '8'),
  15. ('9', 'a', 'b', 'c'),
  16. ('d', 'e', 'f', 'g'),
  17. ('h', 'i', 'j', 'k')]

  18. In [4]: list(zip(*[iter(s)]*5))
  19. Out[4]:
  20. [('1', '2', '3', '4', '5'),
  21. ('6', '7', '8', '9', 'a'),
  22. ('b', 'c', 'd', 'e', 'f'),
  23. ('g', 'h', 'i', 'j', 'k')]
复制代码

论坛徽章:
20
程序设计版块每日发帖之星
日期:2015-10-11 06:20:0015-16赛季CBA联赛之山东
日期:2016-05-28 18:18:5615-16赛季CBA联赛之新疆
日期:2017-04-12 22:55:4715-16赛季CBA联赛之青岛
日期:2017-06-26 18:30:0315-16赛季CBA联赛之四川
日期:2017-09-04 12:27:0315-16赛季CBA联赛之福建
日期:2018-02-09 14:28:3315-16赛季CBA联赛之同曦
日期:2018-04-17 12:43:3415-16赛季CBA联赛之浙江
日期:2018-07-14 13:27:4015-16赛季CBA联赛之吉林
日期:2018-09-13 15:48:2915-16赛季CBA联赛之新疆
日期:2016-05-07 05:05:3215-16赛季CBA联赛之八一
日期:2016-03-14 12:32:06程序设计版块每日发帖之星
日期:2015-12-12 06:20:00
4 [报告]
发表于 2017-09-05 10:35 |只看该作者
本帖最后由 baby_神 于 2017-09-05 10:38 编辑
  1. sed 'N;N;s/\n/,/g' a.txt
  2. awk '{printf NR%3==0?$0"\n":$0","}'  a.txt
复制代码

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP