忘记密码   免费注册 查看新帖 |

ChinaUnix.net

  平台 论坛 博客 文库 频道自动化运维 虚拟化 储存备份 C/C++ PHP MySQL 嵌入式 Linux系统
12下一页
最近访问板块 发新帖
查看: 2708 | 回复: 14

[文本处理] 如何每隔1000行打印文件 [复制链接]

论坛徽章:
1
2015元宵节徽章
日期:2015-03-06 15:51:33
发表于 2013-06-04 18:06 |显示全部楼层
如题:我有一个很大的文件,我想每隔1000行打印1行文件,如何处理
我的sed 不能用"~",例如sed '0~1000d' 文件,提示sed: 1: "0~1000p": invalid command code ~
能用其他命令处理么,谢谢

论坛徽章:
6
摩羯座
日期:2013-08-24 10:43:10狮子座
日期:2013-08-25 10:27:06天秤座
日期:2013-09-11 20:28:44午马
日期:2014-09-28 16:06:0015-16赛季CBA联赛之八一
日期:2016-12-19 13:55:0515-16赛季CBA联赛之天津
日期:2016-12-20 14:01:23
发表于 2013-06-04 18:17 |显示全部楼层
  1. seq 1 100 | awk '!(NR%10)'
复制代码

论坛徽章:
28
ChinaUnix元老
日期:2015-02-02 08:55:392017金鸡报晓
日期:2017-01-10 15:13:29CU十四周年纪念徽章
日期:2018-08-29 22:12:2715-16赛季CBA联赛之深圳
日期:2018-09-20 12:21:09
发表于 2013-06-04 20:28 |显示全部楼层
什么操作系统?Solaris, AIX, HP-UX ?

论坛徽章:
3
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:51:162015年亚洲杯之阿曼
日期:2015-04-07 20:00:59
发表于 2013-06-04 20:50 |显示全部楼层
awk不行的话就用read读行判断.

论坛徽章:
5
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015年亚洲杯之朝鲜
日期:2015-03-13 22:47:33IT运维版块每日发帖之星
日期:2016-01-09 06:20:00IT运维版块每周发帖之星
日期:2016-03-07 16:27:44
发表于 2013-06-05 09:08 |显示全部楼层
用 awk , perl, python 吧。

论坛徽章:
0
发表于 2013-06-05 09:22 |显示全部楼层
awk 'NR/1000!=0&&NR%1000==0{print}'
不行吗?

论坛徽章:
91
CU大牛徽章
日期:2013-11-29 22:26:36CU大牛徽章
日期:2014-02-21 14:21:56CU十二周年纪念徽章
日期:2014-02-21 14:22:02CU大牛徽章
日期:2014-02-21 14:22:07CU大牛徽章
日期:2014-02-21 14:22:09CU大牛徽章
日期:2015-02-28 17:45:342015元宵节徽章
日期:2015-03-06 16:56:38羊年新春福章
日期:2015-02-28 17:42:522015七夕节徽章
日期:2015-09-14 09:24:55CU大牛徽章
日期:2014-02-21 14:22:44CU大牛徽章
日期:2015-02-28 17:48:12CU大牛徽章
日期:2015-02-28 17:47:58
发表于 2013-06-05 10:31 |显示全部楼层
那 cat -n 可用否?
  1. [seesea@UC ~]$ seq 1 200000 | cat -n | grep -P '^ *[0-9]*0001\t|^ *1\t' | sed 's/ *[0-9]*\t//'   
  2. 1
  3. 10001
  4. 20001
  5. 30001
  6. 40001
  7. 50001
  8. 60001
  9. 70001
  10. 80001
  11. 90001
  12. 100001
  13. 110001
  14. 120001
  15. 130001
  16. 140001
  17. 150001
  18. 160001
  19. 170001
  20. 180001
  21. 190001

  22. [seesea@UC ~]$ seq 1 200000 | cat -n | sed -nr '/^ *[0-9]*0001\t|^ *1\t/s/ *[0-9]*\t//p'
  23. 1
  24. 10001
  25. 20001
  26. 30001
  27. 40001
  28. 50001
  29. 60001
  30. 70001
  31. 80001
  32. 90001
  33. 100001
  34. 110001
  35. 120001
  36. 130001
  37. 140001
  38. 150001
  39. 160001
  40. 170001
  41. 180001
  42. 190001
复制代码

论坛徽章:
1
2015元宵节徽章
日期:2015-03-06 15:51:33
发表于 2013-06-06 16:22 |显示全部楼层
回复 3# Shell_HAT


    mac系统,参照用二楼的awk解决了,只是我这里也没有seq。。。

论坛徽章:
1
2015元宵节徽章
日期:2015-03-06 15:51:33
发表于 2013-06-06 16:24 |显示全部楼层
回复 6# yinwei2012

对,用的就是这个,开始没有想起来,awk我一般用来编辑列,呵呵
   

论坛徽章:
91
CU大牛徽章
日期:2013-11-29 22:26:36CU大牛徽章
日期:2014-02-21 14:21:56CU十二周年纪念徽章
日期:2014-02-21 14:22:02CU大牛徽章
日期:2014-02-21 14:22:07CU大牛徽章
日期:2014-02-21 14:22:09CU大牛徽章
日期:2015-02-28 17:45:342015元宵节徽章
日期:2015-03-06 16:56:38羊年新春福章
日期:2015-02-28 17:42:522015七夕节徽章
日期:2015-09-14 09:24:55CU大牛徽章
日期:2014-02-21 14:22:44CU大牛徽章
日期:2015-02-28 17:48:12CU大牛徽章
日期:2015-02-28 17:47:58
发表于 2013-06-06 16:30 |显示全部楼层
回复 8# angjzy


    seq 只是用来代替你的大文件的而已,并不是最终使用的一部分。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号 北京市公安局海淀分局网监中心备案编号:11010802020122
广播电视节目制作经营许可证(京) 字第1234号 中国互联网协会会员  联系我们:wangnan@it168.com
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP