免费注册 查看新帖 |

Chinaunix

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

[文本处理] 删除最后n行 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-12-30 19:36 |只看该作者 |倒序浏览
本帖最后由 rdcwayx 于 2014-01-08 10:47 编辑

看见外文帖子上有
  1. sed ':a;$!N;1,4ba;P;$d;D' file
复制代码
可以表达删除最后n行。
这句话很难懂,请解决一下,哈哈。

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:58:11
2 [报告]
发表于 2013-12-31 10:00 |只看该作者
本帖最后由 这个冬天不冷 于 2013-12-31 10:18 编辑

用不到 就别理解了,删除最后n行awk实现起来 容易多了,,vim更简单 :
  1. :$-5,$d
复制代码
把5换成你想要的 删除的最后x-1行。注意 不要超过文件的总行数

论坛徽章:
32
处女座
日期:2013-11-20 23:41:20双子座
日期:2014-06-11 17:20:43戌狗
日期:2014-06-16 11:05:00处女座
日期:2014-07-22 17:30:47狮子座
日期:2014-07-28 15:38:17金牛座
日期:2014-08-05 16:34:01亥猪
日期:2014-08-18 13:34:25白羊座
日期:2014-09-02 15:03:55金牛座
日期:2014-11-10 10:23:58处女座
日期:2014-12-02 09:17:52程序设计版块每日发帖之星
日期:2015-06-16 22:20:002015亚冠之塔什干火车头
日期:2015-06-20 23:28:22
3 [报告]
发表于 2013-12-31 10:03 |只看该作者
回复 2# 这个冬天不冷
这法子不错,学习了,看来你对vim挺熟悉的嘛~

   

论坛徽章:
15
2015年辞旧岁徽章
日期:2015-03-03 16:54:15双鱼座
日期:2015-01-15 17:29:44午马
日期:2015-01-06 17:06:51子鼠
日期:2014-11-24 10:11:13寅虎
日期:2014-08-18 07:10:55酉鸡
日期:2014-04-02 12:24:51双子座
日期:2014-04-02 12:19:44天秤座
日期:2014-03-17 11:43:36亥猪
日期:2014-03-13 08:13:51未羊
日期:2014-03-11 12:42:03白羊座
日期:2013-11-20 10:15:18CU大牛徽章
日期:2013-04-17 11:48:45
4 [报告]
发表于 2014-01-08 10:50 |只看该作者
本帖最后由 rdcwayx 于 2014-01-08 10:51 编辑

回复 1# luofeiyu_cu

用sedsed (http://aurelio.net/projects/sedsed/)可以帮助理解:
  1. $ cat file
  2. if
  3. a
  4. equals
  5. b
  6. b
  7. b
  8. you
  9. you
  10. you
  11. three
  12. aggbc
  13. four
  14. four
  15. four

  16. $ sedsed -d  --hide=hold ':a;$!N;1,4ba;P;$d;D' file
  17. PATT:if$
  18. COMM::a
  19. COMM:$ !N
  20. PATT:if\na$
  21. COMM:1,4 b a
  22. COMM:$ !N
  23. PATT:if\na\nequals$
  24. COMM:1,4 b a
  25. COMM:$ !N
  26. PATT:if\na\nequals\nb$
  27. COMM:1,4 b a
  28. COMM:$ !N
  29. PATT:if\na\nequals\nb\nb$
  30. COMM:1,4 b a
  31. COMM:P
  32. if
  33. PATT:if\na\nequals\nb\nb$
  34. COMM:$ d
  35. PATT:if\na\nequals\nb\nb$
  36. COMM:D
  37. PATT:a\nequals\nb\nb$
  38. COMM::a
  39. COMM:$ !N
  40. PATT:a\nequals\nb\nb\nb$
  41. COMM:1,4 b a
  42. COMM:P
  43. a
  44. PATT:a\nequals\nb\nb\nb$
  45. COMM:$ d
  46. PATT:a\nequals\nb\nb\nb$
  47. COMM:D
  48. PATT:equals\nb\nb\nb$
  49. COMM::a
  50. COMM:$ !N
  51. PATT:equals\nb\nb\nb\nyou$
  52. COMM:1,4 b a
  53. COMM:P
  54. equals
  55. PATT:equals\nb\nb\nb\nyou$
  56. COMM:$ d
  57. PATT:equals\nb\nb\nb\nyou$
  58. COMM:D
  59. PATT:b\nb\nb\nyou$
  60. COMM::a
  61. COMM:$ !N
  62. PATT:b\nb\nb\nyou\nyou$
  63. COMM:1,4 b a
  64. COMM:P
  65. b
  66. PATT:b\nb\nb\nyou\nyou$
  67. COMM:$ d
  68. PATT:b\nb\nb\nyou\nyou$
  69. COMM:D
  70. PATT:b\nb\nyou\nyou$
  71. COMM::a
  72. COMM:$ !N
  73. PATT:b\nb\nyou\nyou\nyou$
  74. COMM:1,4 b a
  75. COMM:P
  76. b
  77. PATT:b\nb\nyou\nyou\nyou$
  78. COMM:$ d
  79. PATT:b\nb\nyou\nyou\nyou$
  80. COMM:D
  81. PATT:b\nyou\nyou\nyou$
  82. COMM::a
  83. COMM:$ !N
  84. PATT:b\nyou\nyou\nyou\nthree$
  85. COMM:1,4 b a
  86. COMM:P
  87. b
  88. PATT:b\nyou\nyou\nyou\nthree$
  89. COMM:$ d
  90. PATT:b\nyou\nyou\nyou\nthree$
  91. COMM:D
  92. PATT:you\nyou\nyou\nthree$
  93. COMM::a
  94. COMM:$ !N
  95. PATT:you\nyou\nyou\nthree\naggbc$
  96. COMM:1,4 b a
  97. COMM:P
  98. you
  99. PATT:you\nyou\nyou\nthree\naggbc$
  100. COMM:$ d
  101. PATT:you\nyou\nyou\nthree\naggbc$
  102. COMM:D
  103. PATT:you\nyou\nthree\naggbc$
  104. COMM::a
  105. COMM:$ !N
  106. PATT:you\nyou\nthree\naggbc\nfour$
  107. COMM:1,4 b a
  108. COMM:P
  109. you
  110. PATT:you\nyou\nthree\naggbc\nfour$
  111. COMM:$ d
  112. PATT:you\nyou\nthree\naggbc\nfour$
  113. COMM:D
  114. PATT:you\nthree\naggbc\nfour$
  115. COMM::a
  116. COMM:$ !N
  117. PATT:you\nthree\naggbc\nfour\nfour$
  118. COMM:1,4 b a
  119. COMM:P
  120. you
  121. PATT:you\nthree\naggbc\nfour\nfour$
  122. COMM:$ d
  123. PATT:you\nthree\naggbc\nfour\nfour$
  124. COMM:D
  125. PATT:three\naggbc\nfour\nfour$
  126. COMM::a
  127. COMM:$ !N
  128. PATT:three\naggbc\nfour\nfour\nfour$
  129. COMM:1,4 b a
  130. COMM:P
  131. three
  132. PATT:three\naggbc\nfour\nfour\nfour$
  133. COMM:$ d
复制代码

论坛徽章:
4
技术图书徽章
日期:2013-09-23 10:22:37狮子座
日期:2013-10-15 23:31:54卯兔
日期:2013-11-11 17:33:15金牛座
日期:2013-11-15 17:25:28
5 [报告]
发表于 2014-01-08 12:47 |只看该作者
删除最后n行,可以用head, 要删除最后5行

  1. head -n -5 file
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP